Oracle 唯一主键引发的行锁
发布时间:2020-12-12 16:02:56 所属栏目:百科 来源:网络整理
导读:SQL create table test(id int PRIMARY KEY,name char(10));表已创建。Session 1:SQL select * from v$mystat where rownum2; SID STATISTIC# VALUE---------- ---------- ---------- 1165 0 0SQL select * from test;未选定行SQL insert into test values(1
SQL> create table test(id int PRIMARY KEY,name char(10)); 表已创建。 Session 1: SQL> select * from v$mystat where rownum<2; SID STATISTIC# VALUE ---------- ---------- ---------- 1165 0 0 SQL> select * from test; 未选定行 SQL> insert into test values(1,'a'); 已创建 1 行。 Session 2: SQL> select * from v$mystat where rownum<2; SID STATISTIC# VALUE ---------- ---------- ---------- 1174 0 0 SQL> insert into test values(1,'a'); --堵塞 SQL> select sid,username,machine,BLOCKING_SESSION,event from v$session where event='enq: TX - row lock contention'; SID USERNAME MACHINE BLOCKING_SESSION EVENT ---------- ------------------------------ ---------------------------------------------------------------- ---------------- ---------------------------------------------------------------- 1174 SYS oadb 1165 enq: TX - row lock contention 1165 堵塞了1174 这是有唯一主键的情况下,那么没有唯一主键呢? Sesssion 1: SQL> create table test2(id int,name char(10)); 表已创建。 SQL> insert into test2 values(1,'a'); 已创建 1 行。 Session 2: SQL> insert into test2 values(1,'a'); 已创建 1 行。 没有唯一主键,就不会引起行锁 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |