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 ...
随机推荐
- 关于fftshift----将零频率的分量移到频谱的中心
fftshift 作用:将零频点移到频谱的中间 用法: Y=fftshift(X) Y=fftshift(X,dim) 描述:fftshift移动零频点到频谱中间,重新排列fft,fft2和fftn的 ...
- WPF中textBlock 变色功能
<Window.Resources> <Storyboard x:Key="OnLoaded" RepeatBehavior="Forever" ...
- [leetcode]432. All O`one Data Structure全O(1)数据结构
Implement a data structure supporting the following operations: Inc(Key) - Inserts a new key with va ...
- margin-top / padding-top 的百分比 到底是多少?
之前,我以为 margin-top/padding-top 如果设置成%,得到的是 基于父对象总高度的百分比. 但是,这种想法是错的.因为在CSS标准里,是基于父对象宽度的百分比. <style ...
- composer 安装thinkphp
//tp 项目文件夹名称 composer create-project topthink/think tp //图形验证码包 composer require topthink/think-capt ...
- Python开发——目录
Python基础 Python开发——解释器安装 Python开发——基础 Python开发——变量 Python开发——[选择]语句 Python开发——[循环]语句 Python开发——数据类型[ ...
- visual studio vode 汉化
在vs code 的商店中搜索Chinese,找到如下模块,安装. 安装后,按下ctrl+shift+p,找到configure display language ,点击进入,修改 改成如图字母就可以 ...
- kubenetes安装记录和要点
https://blog.csdn.net/jinglexy/article/details/79813546 在官网web上进行kubenetes测试:kubectl run kubernetes- ...
- LaTeX入门
原写于我的洛谷博客,由于洛谷的\(\mathtt{markdown}\)编辑器和博客园的\(\mathtt{markdown}\)编辑器有点差别,所以实在懒得进行微调,就直接挂一个到洛谷博客的链接好了 ...
- [精华][推荐]CAS SSO单点登录服务端客户端学习
1.通过下载稳定版本的方式下载cas的相关源码包,如下: 直接选择4.2.1的稳定代码即可 2.我们项目中的版本版本使用maven apereo远程库去下载 通过远程maven库下载cas-serve ...