我也在看tom的书 看到第6章锁有一个问题没有明白
导致死锁的头号原因是外键未加索引。
试验如下:
create table p (x int primary key);
create table c (x references p);
insert into p values (1);
insert into p values (2);
commit;
insert into c values (2);
此时就会发现,这个会话立即被阻塞了。
我在c表x上加了一个索引
create index ref_x onc(x);
就没有这样的问题了。
我现在不理解为什么。有什么可以给解释一下原因吗。