前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >是什么操作把SQL性能提高了6倍多?-续

是什么操作把SQL性能提高了6倍多?-续

作者头像
老虎刘
发布2022-06-22 17:49:02
发布2022-06-22 17:49:02
1920
举报

上一期留下了一个悬念,有几个朋友也参与了留言,大家都看出了主要的区别是IO 请求多了,却没想到一个简单的索引重建就带来了这么大的性能提升。

通过执行计划我们可以看到,重建索引前后,XLA_EVENTS_N3索引的IO request 从310K,降到了5311次。返回1431K索引记录,5311次是比较正常的一个值(block size 8k字节,每个block存放几百条索引记录)。

为什么会想到索引重建?

因为正常情况下索引扫描的io quests要比索引回表的io requests要低,而我们看到的优化前的执行计划,实际恰恰相反。

验证索引是否真的要重建?

我们通过一个脚本,可以检查索引的稀疏度,本case得到下面结果(截取部分):

这个结果表明:如果重建索引,可以节省798221个block。

根据执行计划的判断,再加上稀疏索引检查得到的具体值的证实,我们就可以通过重建索引来提高索引扫描的效率了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老虎刘谈oracle性能优化 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档