|
|
原帖由 zergduan 于 2010-6-22 16:21 发表 ![]()
? 为什么这么说?
session 1:
SQL> create table t1(x number,y char(20),z date,q varchar2(4000)) tablespace users;
Table created.
SQL> create index t1_idx1 on t1(q,z) tablespace users;
Index created.
SQL> begin
2 for x in 1..500 loop
3 insert into t1 values(1162,'1060000abcdefg', sysdate, rpad('x',2000,'x'));
4 end loop;
5 end;
6 /
PL/SQL procedure successfully completed.
session 2: 与session 1并发执行insert
SQL> begin
2 for x in 1..500 loop
insert into t1 values(1162,'1060000abcdefg', sysdate, rpad('x',2000,'x'));
end loop;
end;
/ 3 4 5 6
PL/SQL procedure successfully completed.
session 3:
session 1与session 2开始插入前:
SQL> select object_name,STATISTIC_NAME,value from v$segment_statistics where object_name in ('T1','T1_IDX1') and STATISTIC_NAME='row lock waits' order by 1;
OBJECT_NAME STATISTIC_NAME VALUE
--------------------------------------------- ---------------------------------------------------------------- ----------
T1 row lock waits 0
T1_IDX1 row lock waits 0
插入后:
SQL> select object_name,STATISTIC_NAME,value from v$segment_statistics where object_name in ('T1','T1_IDX1') and STATISTIC_NAME='row lock waits' order by 1;
OBJECT_NAME STATISTIC_NAME VALUE
--------------------------------------------- ---------------------------------------------------------------- ----------
T1 row lock waits 0
T1_IDX1 row lock waits 3 |
|