Erp100论坛's Archiver

xiangzhao 发表于 2008-7-12 22:15

关于外键未加索引引起锁问题

测试:
session 1:
SQL> delete from emp where emp.deptno=10;
session 2:
SQL> delete from dept where deptno=40;
现象:在emp的字段deptno没有索引时session 2等待, 有索引则不等待.
结论:如果没有索引时,对父表的操作,会级联加一个TM S锁(level 4)到子表上;
如果有索引时,对父表的操作,会级联加一个TM RS锁(level 2)到子表上;
这时如果子表上本身就有个TM RX锁(这种锁很容易产生,insert update delete都会产生这种锁),
TM S锁和TM RX锁是互斥的, TM RS锁和TM RX锁是相容的.

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2007 Comsenz Inc.