autotrace执行计划中,统计信息详解
全表扫描是怎么扫描的?
oracle最小的存储单位是block
物理上连续的block组成了extent(也就是说一个区中的所有块在物理上是连续的)
很多个extent组成了segment(一个segment中的区在物理上可能是连续的,也可能是不连续的)
全表扫描是一个区一个区的扫描的,因为一个区内多个块在物理上是连续的,所以可以多块读。
最常用的:set autotrace trace

统计信息的意义:
recursive calls :递归调用的次数(递归调用是指,执行目标sql时,需要执行一些别的sql来为目标sql服务。eg:解析,查数据字典,插入数据字典,或目标sql中调用了用户自定义函数等)
一般一个新的sql执行2-3次以后递归调用次数就为0了,除非sql中有用户自定义函数。-----这个指标在优化中,一般不用过多关注。
db block get:有多少个块被修改了,单位是块(只有dml才能修改块,一个select语句一般情况下,db block get为0,当延迟块清除的时候,select 的 db block get可能不为0【延迟块清除没什么意义,不用过多关注】)
consistent get:逻辑读,一个块在buffer cache中,被扫描一次,逻辑读就+1,逻辑读可能是读不同的块,也可能是一个块读了多次。
【场景demo:如果一个表中好多的块都被修改过,在undo中,因为我们要读undo,还要重新构造镜像块。所以,在一个高并发的dml情景下,select的逻辑读可能要比标准情况下高几倍。】
physical reads:物理读,将一个块从磁盘读到buffer cache,物理读+1. (逻辑读是包含物理读的。)
redo size:跑这个sql产生多少的redo日志。(只要db block get为0,redo size为0)
这两个是网络指标,从服务器发送多少到客户端,从客户端接收了多少,不用过多关注。
sorts(memory)和sorts(disk):内存排序和磁盘排序,优化中基本没用。不用关注。
1 rows processed(这一列是重点非常有用):sql语句处理或返回了多少行,能直观的看出来,这个sql能不能优化。
【【【 重要的,有用的信息:consistent get 和 rows processed 】】】
autotrace执行计划中,统计信息详解的更多相关文章
- sqlplus中显示sql执行计划和统计信息
31 ,32 , 33 ,34 keywords : oracle storage structure 最详细讲解: 1:doc 1 logical storage structure 2 ...
- Oracle执行计划与统计信息的一些总结
[日期:2011-08-05]来源:Linux社区 作者:wangshengfeng1986211[字体:大 中 小] 2010-07-01 15:03 1.SET AUTOTRACE ON EXP ...
- SQL Server 执行计划利用统计信息对数据行的预估原理二(为什么复合索引列顺序会影响到执行计划对数据行的预估)
本文出处:http://www.cnblogs.com/wy123/p/6008477.html 关于统计信息对数据行数做预估,之前写过对非相关列(单独或者单独的索引列)进行预估时候的算法,参考这里. ...
- 为准确生成执行计划更新统计信息-analyze与dbms_stats
如果我们想让CBO利用合理利用数据的统计信息,正确判断执行任何SQL查询时的最快途径,需要及时的使用analyze命令或者dbms_stats重新统计数据的统计信息. 例如索引跳跃式扫描(INDEX ...
- MySQL执行计划【explain】详解
本文已经收录到github仓库,仓库用于分享Java相关知识总结,包括Java基础.MySQL.Springboot.mybatis.Redis.rabbitMQ等等,欢迎大家提pr和star! gi ...
- SQL Server 执行计划利用统计信息对数据行的预估原理以及SQL Server 2014中预估策略的改变
前提 本文仅讨论SQL Server查询时, 对于非复合统计信息,也即每个字段的统计信息只包含当前列的数据分布的情况下, 在用多个字段进行组合查询的时候,如何根据统计信息去预估行数的. 利用不同字段 ...
- mysql-5.7 持久化统计信息详解
一.持久化统计信息的意义: 统计信息用于指导mysql生成执行计划,执行计划的准确与否直接影响到SQL的执行效率:如果mysql一重启 之前的统计信息就没有了,那么当SQL语句来临时,那么mysql就 ...
- SQL优化 MySQL版 -分析explain SQL执行计划与Type级别详解
type索引类型.类型 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 注:看此文章前,需要有一定的Mysql基础或观看上一篇文章,该文章传送门: https://www.cnblo ...
- Maven依赖中的scope详解,在eclipse里面用maven install可以编程成功,到服务器上用命令执行报VM crash错误
Maven依赖中的scope详解 项目中用了<scope>test</scope>在eclipse里面用maven install可以编译成功,到服务器上用命令执行报VM cr ...
随机推荐
- ABP框架记录
1.先在Core项目中建立模型Models>Model.cs/ModelManager.cs 2.在Application中建立接口和具体类:IModelAppService.csModelAp ...
- sed awk
sed -n 's/,*$//g;s/,\+/,/g;/,/p' test.csv 去除行尾逗号,将多个连续逗号合并,过滤没有逗号的行 awk -F, 'NF>5 split($1,a,&quo ...
- sourcetree 跳过首次登录
定位到用户缓存数据目录:(需要在文件夹选项中 开启不隐藏文件夹和不隐藏文件扩展名) 一般为: C:\Users\{用户名}\AppData\Local\Atlassian 进入sourcetree目录 ...
- dubbo-2.5.6优雅停机研究
不优雅的停机: 当进程存在正在运行的线程时,如果直接执行kill -9 pid时,那么这个正在执行的线程被中断,就好像一个机器运行中突然遭遇断电的情况,所导致的结果是造成服务调用的消费端报错,也有可能 ...
- 前端面试题---vue部分
1.vue的两大核心思想 组件化和数据驱动 2.如何理解vue中的MVVM模式 Model-View-ViewModel(简称为mvvm)是一种设计思想,model层代表数据模型,也可以再model中 ...
- C++实现对文件中各单词词频的统计及其代码优化
先给出github上的代码链接以及项目需求 1.项目概述 这个项目的需求可以概括为:对记事本(txt)文件进行单词的词频统计和排序,排序结果以指定格式输出到默认文件中,并要求能够快速地完成整个统计和结 ...
- Springboot Application 集成 OSGI 框架开发
内容来源:https://www.ibm.com/developerworks/cn/java/j-springboot-application-integrated-osgi-framework-d ...
- idea启动springboot+jsp项目出现404
场景:用IntelliJ IDEA 启动 springBoot项目访问出现404,很皮,因为我用eclipse开发时都是正常的,找了很久,什么加注释掉<scope>provided< ...
- P4149 [IOI2011]Race
对于这道题,明显是点分治,权值等于k,可以用桶统计树上路径(但注意要清空); 对于每颗子树,先与之前的子树拼k,再更新桶,维护t["len"]最小边数; #include < ...
- 从Excel表中导入数据时日期格式的验证问题解决
#region IsDateTimeType 私有方法判断导入数据是否是日期格式 /// <summary> /// 私有方法判断导入数据是否是日期格式 /// </summary& ...