1 件中 1 - 1 件を表示
Displaying posts with tag: ohamari (reset)
あるあるおハマり大事典 - InnoDBなのに行ロックしないの
drop table if exists t;

create table t (
  iid int
 ,nid int
 ,bid binary(3)
 ,msg varchar(69)
 ,key (iid)
 ,key (bid)
) ENGINE=InnoDB;

insert into t values
 (1,1,1,"ichi"),(2,2,2,"ni"),(3,3,3,"san")
,(4,4,4,"si"),(5,5,5,"go"),(6,6,6,"roku")
;

なテーブルとデータで、2つ端末を用意して update しあいっこしてみます。


まず、これ↓は両方ともupdateが完了してスコっと返ってきます。行レベルロック++

begin;
update t set msg = "t1" where iid = 1;
と
begin;
update t set msg = "t2" where iid = 2;


これ↓は、where句で使っているのが、インデックスがはられていないカラムなので、後発のクエリはすぐ返らず(先発のがcommit or rollback or タイムアウトするまで)待たされます。これも期待通り。 …

[さらに読む]
1 件中 1 - 1 件を表示