Insert 和Insert 引发的buffer busy waits
多个会话同时对同一个表执行Insert操作时,段的区域将急速扩大,因此引发多种性能问题。Buffer lock争用引起的buffer busy waits等待现象就是其中之一。
---创建测试表空间
create tablespace bfw_tbs_1 datafile '/u03/test/ukja_test_01.dbf' size 50M
autoextend on
extent management local uniform size 1M
segment space management auto
---创建表
drop table bfw_test;
create table bfw_test(id char(1000)) tablespace bfw_tbs;
---执行大量的insert 的procedure
create or replace procedure bfw_do_insert
is
begin
for idx in 1 .. 10000 loop
insert into bfw_test values('');
end loop;
commit;
end;
---10个会话同时执行Insert
var job_no number;
begin
for idx in 1 .. 1000 loop
dbms_job.submit(:job_no,'bfw_do_insert;');
commit;
end loop;
Insert 和Insert 引发的buffer busy waits
最新推荐文章于 2021-05-01 19:31:27 发布
当多个会话并行执行Insert操作时,可能导致数据库出现Buffer Busy Waits等待现象和High Water Mark (HWM) 锁争用。通过创建测试表并执行大量插入操作,观察到等待事件主要为buffer busy waits和enq: HW - contention,这可能是由于段的快速扩展导致的资源冲突。
摘要由CSDN通过智能技术生成