[前][次][番号順一覧][スレッド一覧]

mysql:8467

From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Wed, 10 Dec 2003 18:28:58 +0900
Subject: [mysql 08467] Re: innoDB の行排他ロックについて

とみたです。

On Wed, 10 Dec 2003 14:40:19 +0900
"江口" <eguchi@xxxxxxxxxx> wrote:

> MySQLで大量データを持つ表に対しある処理で一部レコードを更新
> しながら別の処理で他のレコードを更新することが実現可能か
> どうかの調査を行っており、Oracleでの開発を行った経験から
> 双方の処理で行の排他ロックを掛ける必要があると思っています。
> 
> しかし、以下の図の様に選択した行以外の行排他ロックを行おう
> としてもロック待ちが発生してしまいます。
> テーブルロックがかかっているかの様です。

テーブルはどのようにして作成したのでしょうか。

手元の環境(Linux + MySQL 4.0.15)では、次のように作成したテーブルで期待
通りに動きました。

create table a (keyno int, dat1 int, dat2 int, unique (keyno)) type=innodb;

-- 
とみたまさひろ <tommy@xxxxxxxxxx>
日本MySQLユーザ会 http://www.mysql.gr.jp

[前][次][番号順一覧][スレッド一覧]

      8466 2003-12-10 14:40 ["江口" <eguchi@xxxxx] innoDB の行排他ロックについて           
->    8467 2003-12-10 18:28 ┗[とみたまさひろ <tomm]                                       
      8468 2003-12-10 18:58  ┣["江口" <eguchi@xxxxx]                                     
      8471 2003-12-10 19:10  ┃┗["江口" <eguchi@xxxxx]                                   
      8469 2003-12-10 19:08  ┗["HIROSE, Masaaki" <h]                                     
      8472 2003-12-10 19:22   ┣["HIROSE, Masaaki" <h]                                   
      8483 2003-12-11 15:28   ┗["江口" <eguchi@xxxxx]