当前位置:网站首页>insert引起的db file sequential read之改善

insert引起的db file sequential read之改善

2022-07-23 02:07:00 周末摸鱼

前端人员反映最近考勤资料准入很慢,之前几分钟转完的资料,现在需要很久。
在这里插入图片描述
针对这个问题,做了这个时间段的ash report,发现insert时伴随着db file sequential read以及read by other session,正常来讲,insert 与db file sequential read怎会扯上关系?进一步分析,应该是在做index维护,即insert表时,同时会更新index,同时确认新的key value在index的位置
而read by other session,显然是伴生于前者,即db file sequential read要读的block正在被其他session读取,这一般是buffer紧张造成
在这里插入图片描述
full sqltext:
在这里插入图片描述

做了一个10046,可以看到db file sequentail read, obj#236626(通过查询验证,正是被插入表的index)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
db file sequential read属于physical read,故思路是将此index放入keep pool,不参与shared buffer竞争:
ALTER index IDHRIS.IDX_EM_CARD_RECORDstorage(buffer_pool keep)
验证结果:
SELECT OWNER,INDEX_NAME,BUFFER_POOL FROM DBA_INDEXES WHERE INDEX_NAME=‘IDX_EM_CARD_RECORD’
在这里插入图片描述
最后,请前端user检验成果:
在这里插入图片描述
从前端user的insert完成记录来看,已经改山很多。

原网站

版权声明
本文为[周末摸鱼]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_43230594/article/details/125927659