Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 开发人员分析SQL 执行计划的关注点

繁琐复杂的执行计划、可能迷了开发人员的眼、导致一条性感又傻X的SQL 在服务器上跑得特欢乐有介于此、重点抓住几个部分、至于其他的嘛、当然是、非礼勿视咯、、㈠ 返回行的数量Oracle优化器是基于成本的、评估成本的一个主要指标便是查询多少行一般的、返回值在100W或者大表返回值超过总记录50%、可优化的空间就非常小标记图为:㈡ 返回行与逻辑读的比率经验值是:每行5个以下逻辑读开销是可接受的标记图为:每行需要花费7 个逻辑读㈢ 聚合查询这类查询有 2 点需要注意:① 返回行应是扫描表的行数而不是1② 一般的优化技巧:把索引当成瘦表而无需再回表(回表标识为 Table Access By index rowid)标记图为:㈣ 预测行的准确度执行计划里有个列叫:Rows、这是Oracle 预测返回的行、有些时候或许不是特马准备记得拿该值和真正返回的行比较、如果确实不准确、应该去找原因、比如统计信息、直方图、高水位...等标记图为:㈤ 谓词信息Predicate Information 有2 个取值:filter 和 access、其中、access 一般为索引读或hash join关注此鸟、最重要的在于、查看是否有发生数据类型转换、这抑制了索引、也增大了开销标记图为:㈥ 动态采样表统计信息过期变质了、或者压根就没分析过表标记图为:好了、先写这么多、后续再补上By David Lin2013-06-21Always be a first-rate version of yourself,instead of a second-rate version of someone else更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12Oracle SQL引擎体系结构图Oracle“记录被另一个用户锁住” 无法更新删除的解决办法相关资讯      Oracle SQL 
  • Oracle高级SQL培训与讲解 PDF  (06月01日)
  • SQL在Oracle内部的具体处理流程  (05/06/2015 10:43:43)
  • Oracle使用WITH AS和HINT   (07/18/2014 15:55:31)
  • Oracle SQL语句追踪  (05/09/2015 09:42:25)
  • Oracle执行SQL查询语句的步骤  (09/26/2014 19:40:59)
  • 获取Oracle SQL语句中绑定变量值的  (07/17/2014 08:07:40)
本文评论 查看全部评论 (0)
表情: 姓名: 字数