Insert 和Insert 引发的buffer busy waits

87 篇文章 34 订阅 ¥39.90 ¥99.00
当多个会话并行执行Insert操作时,可能导致数据库出现Buffer Busy Waits等待现象和High Water Mark (HWM) 锁争用。通过创建测试表并执行大量插入操作,观察到等待事件主要为buffer busy waits和enq: HW - contention,这可能是由于段的快速扩展导致的资源冲突。
摘要由CSDN通过智能技术生成
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;
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scan724

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值