Oracle 外來鍵索引影響阻塞問題

regonly1發表於2009-08-03
建立表:
create table p(x int primary key);
create table c(x references p);
insert into p values(1);
insert into p values(2);
commit;
然後在一個session裡執行:
insert into c values(2);
 
再在另外一個session裡執行:
delete from p where x = 1;
則此時,這第二個session會被阻塞。
原因是表c沒有建索引,一旦建立了索引,再次執行如上操作時該阻塞就會被解除:
create index idx_c_x on c(x) nologging;
但是為何c上建立了索引就不會阻塞p的delete操作了?是什麼原理?
 
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12932950/viewspace-611263/,如需轉載,請註明出處,否則將追究法律責任。

相關文章