题目 部分

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


     
答案部分



从以下几点去考虑:

执行计划关注点

预估返回行数

真实返回行与逻辑读比率

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

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

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

表的访问次数是否过大

注意表真实访问行数

查看是否在磁盘排序

注意A-Time时间列

注意PstartPstopPARTITION RANGE ALL

注意MERGE JOIN CARTESIAN

注意REMOTE分布式查询

注意动态采样

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

 

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


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


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



---------------优质麦课------------

 详细内容可以添加麦老师微信或QQ私聊。



About Me:小麦苗

 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/

 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

 版权所有,欢迎分享本文,转载请保留出处

 QQ:646634621  QQ群:618766405

 提供OCP、OCM和高可用部分最实用的技能培训

● 题目解答若有不当之处,还望各位朋友批评指正,共同进步

DBA宝典

长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。

喜欢就点击“好看”吧



©著作权归作者所有:来自51CTO博客作者小麦苗DB宝的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 【DB笔试面试739】在Oracle中,如何获取集群的名称(Cluster name)?
  2. 使用git-svn迁移SVN至GitLab
  3. 【DB笔试面试823】在Oracle中,如何查看过去某一段时间数据库系统
  4. 【DB笔试面试253】在Oracle中,有哪些角色可以管理ASM实例,它们之间
  5. 【DB笔试面试265】在Oracle中,Oracle的SYS用户登录报权限不足的常
  6. 【DB笔试面试824】在Oracle中,什么是ADDM?
  7. 【DB笔试面试108】在Oracle中,sqldlr true 。。。SQL*Loader util
  8. 【DB笔试面试385】Oracle的锁分为哪几种?每种锁各有什么用途?它们
  9. 【DB笔试面试458】在Oracle中,如何判断一个字符串是否全为数字?

随机推荐

  1. 乌合之众
  2. JSON就是这么简单
  3. JVM系列(7)内存溢出问题(工作中常用、面试
  4. koa中间件与async
  5. nginx HTTPS反向代理
  6. HTTP常见面试题
  7. XML+JSON面试题都在这里
  8. 财务自由之路
  9. 打包压缩加密备份_bash笔记6
  10. AJAX常见面试题