oracle 等频直方图,等频直方图预估结果集行计算公式
公式:摘自《催華-基于ORACLE的SQL優化》
鏈接地址:http://blog.csdn.net/launch_225/article/details/25472129
等頻:唯一值《=桶數
=>等頻(頻率)直方圖
-->density計算
density=1/(2*num_rows*null_adjust)
null_adjust=(num_rows-num_nulls)/num_rows
-->等值查詢,val在low_value and high_value之間,值等于某個endpoint_value
cardinality=num_rows * selectivity
selectivity=bucketsize/num_rows
bucketsize=current_endpoint_number-previous_endpoint_number
TABLE_NAMECOLUMN_NAMENUM_BUCKETSLOW_VALUEHIGH_VALUEHISTOGRAM
1T1N113C102C113FREQUENCY
-->density計算
density=1/(2*num_rows*null_adjust)
SQL> select 1/(2*18*1) from dual;
1/(2*18*1)
----------
.027777778
OWNERTABLE_NAMENUM_DISTINCTDENSITYCOLUMN_NAME
1AIKIT1130.0277777777777778N1
-->等值查詢,val在low_value and high_value之間,值等于某個endpoint_value
cardinality=num_rows * selectivity
selectivity=bucketsize/num_rows
bucketsize=current_endpoint_number-previous_endpoint_number
1* select * from t1 where n1=6
SQL> /
Execution Plan
----------------------------------------------------------
Plan hash value: 1577308413
-----------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 3 | 15 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| T1 | 3 | 15 | 2 (0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | IDX_T1_N1 | 3 | | 1 (0)| 00:00:01 |
-----------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("N1"=6)
OWNERTABLE_NAMECOLUMN_NAMEENDPOINT_NUMBERENDPOINT_VALUE
AIKIT1N111
AIKIT1N132
AIKIT1N144
AIKIT1N155 --previous_endpoint_number
AIKIT1N186 --current_endpoint_number
AIKIT1N199
AIKIT1N11010
AIKIT1N11111
AIKIT1N11312
AIKIT1N11414
AIKIT1N11515
AIKIT1N11716
AIKIT1N11818
bucketsize=8-5=3;
selectivity=3/18
cardinality=18*(3/18)=3;
總結
以上是生活随笔為你收集整理的oracle 等频直方图,等频直方图预估结果集行计算公式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle dump 文件解析,ora
- 下一篇: C语言寻找错误是哪个快捷键,求大佬改正寻