1) 优化器(optimizer)

a) RBO(rule-based optimizer)方式:基于规划的优化方式
所遵循的是oracle内部预定的一些规则.

b) CBO(cost-based optimizer)方式:看语句的执行代价(cost),这里的代价主要指cpu和内存。
优化器在判断是否用这种方式时,主要参照的是表及索引的统计信息。

2) 优化模式

a) rule:基于规则的方式

b) choose:默认使用方式,有统计信息,采用CBO,无统计信息,采用RBO.

c) first rows:有统计信息,以最快的时间返回最先几行,通常为NL连接方式。

d) all rows:即cost方式,有统计信息,以最快的方式返回表的所有行,无统计信息,才用RBO;

e) 更新统计信息

表:  analyze table table_name compute statistics
索引:analyze index index_name estimate statistics

f) 有时候明明有索引但是执行计划没有走索引,原因有二,第一:表或索引的统计信息缺失或过时;第二:表太小,oracle认为不值得走索引。

3) 执行计划管理

优化器会维护所有执行次数超过一次的sql语句的每个执行计划的历史列表(plan history),优化器通过维护一个语句执行的日志条目(statement log)来识别该sql是否为第二次执行。如果为第二次执行,则优化器将语句生成的所有执行计划都插入到plan history表中,只有当新的执行计划的成本比plan baseline 执行计划基准线中的成本低时才使用。

4) sql plus中开启执行计划

a) SET AUTOTRACE ON          
–包含执行计划、统计信息、以及脚本结果数据输出

b) SET AUTOTRACE ON EXPLAIN       
–包含执行计划、脚本结果数据输出,没有统计信息

c) SET AUTOTRACE TRACEONLY      
–有执行计划、统计信息,不会有脚本结果数据输出

d) SET AUTOTRACE OFF          
–不生成AUTOTRACE报告,这是缺省模式

e) 注意:PL/SQL Dev工具的Command window中不支持set autotrance on的命令。在PL/SQL中可以按F5来查看。

5) 示例

a)  set autotrace traceonly

b) 统计信息:

c) 动态分析

Note
------------
-dynamic sampling used for the statement

这提示用户CBO当前使用的技术, 当出现这个提示,说明当前表使用了动态采样。说明这个表可能没有分析统计信息。

oracle笔记整理14——性能调优之oracle执行计划相关推荐

  1. 【性能调优】Oracle AWR报告指标全解析

    [性能调优]Oracle AWR报告指标全解析 啥是AWR? ===================================================================== ...

  2. oracle性能调优书,Oracle性能调优领域的百科全书

    如果你想学习一种先进的系统化的Oracle性能调优方法,想找到一本包含设计.SQL优化.争用.内存与IO的完整的性能指南,想既关注基础知识也关注高级技巧,且其内容涵盖Oracle 10g.11g以及1 ...

  3. golang学习笔记——测试与性能调优

    测试 longestString/longestString.go package main//Nonrepeating : method of double points(双指针法) func No ...

  4. oracle dbfile数,通过案例学调优之--Oracle参数(db_file_multiblock_read_count)

    通过案例学调优之--Oracle参数(db_file_multiblock_read_count) 应用环境: 操作系统: RedHat EL55 Oracle:   Oracle 10gR2 Ora ...

  5. oracle 全文索引 优化,通过案例学调优之--Oracle 全文索引

    通过案例学调优之--Oracle 全文索引 全文检索(oracle text) Oracle Text使Oracle9i具备了强大的文本检索能力和智能化的文本管理能力,Oracle Text 是 Or ...

  6. oracle下k M G,【性能调优】Oracle AWR报告指标全解析(2)

    7-1 Checkpoint Activity 检查点与 Instance Recovery Stats 实例恢复 Checkpoint Activity Snaps: 70719-70723 -&g ...

  7. oracle性能调优之--Oracle 10g AWR ASH 配置

    一.ASH和AWR的故事 1.1 关于ASH 我们都知道,用户在ORACLE数据库中执行操作时,必然要创建相应的连接和会话,其中,所有当前的会话信息都保存在动态性能视图V$SESSION中,通过该视图 ...

  8. oracle性能调优总结,Oracle的调优方法总结

    根据自己项目在使用Oracle中的经验,及Oracle参考手册,对于oracle的调优方法一点点的总结. 以后的篇幅会讨论表空间和数据文件的建立对Oracle并发的影响.本文只是讨论SGA和PGA和S ...

  9. oracle试图执行计划,Oracle SQL优化与调优之显示执行计划(上)

    通过查询语句显示计划 通过查询语句从这些视图里面读出执行计划并作格式化输出的方法都非常相似,我们这里以 sql_plan 为例给出示例. 通过包 DBMS_XPLAN 显示计划 这个包可以根据我们选择 ...

  10. 达梦数据库SQL调优,查看执行计划、ET

    一.调优目标 SQL 调优的整体目标是使用最优的执行计划,使IO以及CPU代价最小.调优主要关注下列方面: ·表扫描 如果计划中对某大表使用了全索引扫描,那么需要关注该表是否存在某个查询条件使得过滤后 ...

最新文章

  1. 大盘点 | 2020年「13篇」人脸算法最佳综述
  2. shell 函数返回值接收问题
  3. php url %,php常用的url处理函数集
  4. Tool之ADB:ADB工具的简介、安装、使用方法之详细攻略
  5. 拓端tecdat|R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归
  6. windows 通过公匙SSH到其他服务器
  7. unity3d 资源打包加密 整理
  8. 数据库系统概念(中文第六版):杨冬青-电子书
  9. 和巨耀通杯计算机基础知识大赛,南京邮电大学第二十二届科技节活动之 “和巨耀通杯”网页设计大赛圆满落幕...
  10. ollydbg调试使用
  11. 遗补:“预防‘磁碟机’病毒”
  12. 显著性水平与p值的区别
  13. SICP第一章:构造过程抽象(1.3)
  14. access工资明细表_利用ACCESS数据库报表功能制作工资条
  15. LCC谐振变换器部分参数设计过程
  16. 1055 mysql_MySQL错误1055
  17. A Game of Thrones(15)
  18. WSTMart开源商城
  19. 【实习小tip】多层dialog弹窗遮罩问题、elementUI的form表单组件的select框在只读的情况下没办法拿到传来的数据、从弹窗子组件获取数据后需要刷新页面
  20. JSSDK公众号微信分享功能

热门文章

  1. uniapp文件体积超过 500KB报错
  2. c 上传文件路劲为服务器路径,获取上传文件的路径变成C:\fakepath\
  3. MSYS以及MinGW安装
  4. php 百度地图 云存储,jspopular3.0 | 百度地图API SDK
  5. Java 后端接口 ECharts 日历表统计每年每月每日的数据条数 ECharts Java 后端接口统计 利用日历表统计 MySQL 数据条数
  6. 基于elasticjob的入门maven项目搭建
  7. adb配置环境变量没有反应
  8. Github TOP100 Android开源,flutter与android混合开发
  9. 如何找python 包的位置
  10. 微信小程序:最新掌上题库微信小程序源码下载,修复登录接口,支持在线考试,自定义导入考题