前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【DB笔试面试602】在Oracle中,如何从执行计划初步判断SQL的性能问题?

【DB笔试面试602】在Oracle中,如何从执行计划初步判断SQL的性能问题?

作者头像
小麦苗DBA宝典
发布2019-09-29 16:03:43
8170
发布2019-09-29 16:03:43
举报

题目部分

在Oracle中,如何从执行计划初步判断SQL的性能问题?

答案部分

从以下几点去考虑:

l 执行计划关注点

l 预估返回行数

l 真实返回行与逻辑读比率

l 预估行数和真实返回行数的差异

l Predicate Information部分是否有隐式类型转换

l 递归调用(recursive calls)值是否过大

l 表的访问次数是否过大

l 注意表真实访问行数

l 查看是否在磁盘排序

l 注意A-Time时间列

l 注意Pstart、Pstop、PARTITION RANGE ALL

l 注意MERGE JOIN CARTESIAN

l 注意REMOTE分布式查询

l 注意动态采样

l 是否使用了某种固定执行计划的策略

详情可以从下表所示的几个方面去考虑:

此外,还有一些其它需要注意的地方,例如COST花费特别大的步骤、全表扫描的步骤、FILTER的操作等等,都是需要特别关注的地方,这里就不详细列举了,总之,看执行计划和看AWR报告一样,需要具有一双敏锐的鹰眼,最主要的是找出SQL的性能瓶颈。

本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。

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

本文分享自 DB宝 微信公众号,前往查看

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

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

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