执行计划oracle中cost,执行计划中cost计算方法
概念:
blevel:二元高度=索引高度-1
clustering_factor:集群因子,扫描index scan得出的要扫描的表中block数,clustering_factor<=table blocks
索引扫描的计算公式:
cost =
blevel +
ceil(leaf_blocks *effective index selectivity) +
ceil(clustering_factor * effective table selectivity)
SQL> select leaf_blocks,blevel,clustering_factor from dba_indexes where index_name='IDX_T';
LEAF_BLOCKS BLEVEL CLUSTERING_FACTOR
----------- ---------- -----------------
112 1 776
SELECT b.num_rows, a.num_distinct, a.num_nulls, utl_raw.cast_to_number(high_value) AS high_value, utl_raw.cast_to_number(low_value) AS low_value
, b.num_rows - a.num_nulls AS "NUM_ROWS-NUM_NULLS", utl_raw.cast_to_number(high_value) - utl_raw.cast_to_number(low_value) AS "HIGH_VALUE-LOW_VALUE"
FROM dba_tab_col_statistics a, dba_tables b
WHERE a.owner = b.owner
AND a.table_name = b.table_name
AND a.owner = ‘SCOTT‘
AND a.table_name = upper(‘TEST‘)
AND a.column_name = ‘OBJECT_ID‘
NUM_ROWS
NUM_DISTINCTNUM_NULLSHIGH_VALUELOW_VALUENUM_ROWS-NUM_NULLSHIGH_VALUE-LOW_VALUE
50736507351538202
5073553818
effective index selectivity=(limit-low_value)/(high_value-low_value)
SQL> select (1000-2)/(53820-2) selectivity from dual;
SELECTIVITY
-----------
0.018543982
SQL> SELECT OWNER FROM TEST WHERE OBJECT_ID<1000;
已选择953行。
执行计划
----------------------------------------------------------
Plan hash value: 1810195980
---------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost |
---------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 941 | 10351 | 19 |
| 1 | TABLE ACCESS BY INDEX ROWID| TEST | 941 | 10351 | 19 |
|* 2 | INDEX RANGE SCAN | IDX_T | 941 | | 4 |
---------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("OBJECT_ID"<1000)
1.回表io=ceil(clustering_factor * effective table selectivity)=19-4=152.blevel +ceil(leaf_blocks *effective index selectivity)
原文:http://blog.csdn.net/hughwang1216/article/details/38627629
执行计划oracle中cost,执行计划中cost计算方法相关推荐
- oracle 数据执行计划,Oracle 常见的执行计划步骤(explain结果的Description数据参考)...
在PL/SQL中 执行explain plain for select ... 查看Description 数据参考: Oracle常见的执行计划步骤 这里我们介绍一些常见的执行计划中的步骤及算法. ...
- oracle sql执行历史,Oracle 历史SQL执行耗时查询
Oracle 历史SQL执行耗时查询 发布时间:2020-03-02 19:56:17 来源:51CTO 阅读:474 作者:lych528 这个查询首先得理解dba_hist_sqlstat视图,也 ...
- 简单介绍oracle执行计划,Oracle性能优化之oracle中常见的执行计划及其简单解释
一.访问表执行计划 1.table access full:全表扫描.它会访问表中的每一条记录(读取高水位线以内的每一个数据块). 2.table access by user rowid:输入源ro ...
- oracle执行计划time单位,Oracle中查看执行计划
方法一.通过使用工具PLSQL Developer中的Explain Plan Window窗口查看SQL执行计划.具体参考 方法二.通过SQL*PLUS中的autotrace命令查看 1.登录拥有d ...
- oracle的解析計劃,Oracle中获取执行计划的几种方法分析
1. 预估执行计划 - Explain PlanExplain plan以SQL语句作为输入,得到这条SQL语句的执行计划,并将执行计划输出存储到计划表中. 首先,在你要执行的SQL语句前加expla ...
- PostgreSQL中的执行计划
PostgreSQL中的执行计划 EXPLAN 预生成执行计划 EXPLAN sql 真实执行计划 explan analyze sql 输出详细内容 explan(analyze on, timin ...
- SQL Server中的执行计划
介绍 (Introduction) In this article, I'm going to explain what the Execution Plans in SQL Server are a ...
- MySQL中的执行计划
MySQL中的执行计划 在MySQL中可以通过explain关键字模拟优化器执行SQL语句,从而知道MySQL是如何处理SQL语句的: 一.Mysql整个查询执行过程 客户端向MySQL服务器发送一 ...
- 在Azure Data Studio中查看执行计划
This article gives an overview of viewing execution plans in the Azure Data Studio. 本文概述了在Azure Data ...
- linux任务计划单独脚本能执行,linux中计划任务执行脚本
我使用的是ubuntu14.4,所以在ubuntu中一切正常,在其他linux系统中应该都差不多. 1 计划任务,crontab命令选项: -u指定一个用户, -l列出某个用户的任务计划, -r删除某 ...
最新文章
- 不要假装很努力,因为结果不会陪你演戏
- JUnit4单元测试报错问题:method initializationerror not found
- Flex 按钮添加图标
- 被恶意上传了.php,轻松解决网站被恶意镜像
- PyCharm编辑器的安装
- 机器人操作系统ROS微信群, 欢迎加我微信: Jdrobots 技术相互学习交流(加我请备注ROS,谢谢!) 。
- 15个示例让你搞懂Linux中的cd命令
- linux6.0设置共享文件夹,[原创] how to virtualbox sharefolder共享文件夹(数据空间)设置全记录...
- bat 复制文件夹_新建366个文件夹,你用了2小时,我使用excel与bat命令1分钟搞定...
- 4. 卷2(进程间通信)---管道和FIFO
- SQL:postgresql点geom转换为经纬度、POINT
- Python编程PTA题解——输出星期名缩写
- OpenSSH私钥BEGIN OPENSSH PRIVATE KEY与BEGIN RSA PRIVATE KEY格式转换方式
- 浅谈企业知识资产管理及建设思路
- uni-app - 实现手机扫描二维码并跳转全过程
- 调用新浪接口查询IP地址
- Aviary集成心得
- SharpDevelop5.1支持.net4.5.2以上版本
- 数据分析师,今年无情被辞:想给数据人提个醒!!
- DW与JavaScript
热门文章
- 如何使用Marketing Cloud的扩展字段作为搜索条件进行搜索
- Service order description modify and save
- how to debug connector indexing
- windows系统上使用openssh client连接远程Linux服务器的日志分析
- SAP收购的coresystem app的使用截图
- SAP ERP classification和C4C的同步
- 通过ABAP代码判断当前系统类型,BYD还是S4 OP还是S4 Cloud
- oracle函数lp,Oracle 执行计划的查看方式
- reactor和thread线程_Reactor模型详解:单Reactor多线程与主从Reactor多线程
- 如何开启linux的dhcp服务器,怎么开启DHCP服务器啊