oracle通过执行计划cost,Oracle 执行计划(5)—cost成本之索引范围扫描-B树索引
Oracle 執行計劃(5)—cost成本之索引范圍掃描-B樹索引
SQL>? select * from t1 where a<600 ;
已選擇599行。
已用時間:? 00: 00: 00.03
執行計劃
———————————————————-
Plan hash value: 2474755989
—————————————————————————
| Id? | Operation??????? | Name?? | Rows? | Bytes | Cost (%CPU)| Time???? |
—————————————————————————
|?? 0 | SELECT STATEMENT |??????? |?? 593 |? 1779 |???? 3?? (0)| 00:00:01 |
|*? 1 |? INDEX RANGE SCAN| T1_IND |?? 593 |? 1779 |???? 3?? (0)| 00:00:01 |
—————————————————————————
Predicate Information (identified by operation id):
—————————————————
1 – access(“A”<600)
計算所用公式
INDEX
cost = blevel +ceiling(leaf_blocks * effective index selectivity) +ceiling(clustering_factor * effective table selectivity)
SQL> execute dbms_stats.gather_table_stats(‘ZENGMUANSHA’,’T1′);
SQL> select column_name,NUM_NULLS,NUM_DISTINCT,density from user_tab_col_statistics where table_name=’T1′;
COLUMN_NAMENUM_NULLS NUM_DISTINCT??? DENSITY ?LOW_VALUE ???HIGH_VALUE
—————————— ———- ———— ———-————
A?????????????????0???????? 9926 0.00010074?? C104C302
SQL> select LEAF_BLOCKS,BLEVEL ,clustering_factor from user_indexes where index_name=’T1_IND’;
LEAF_BLOCKSBLEVEL CLUSTERING_FACTOR
———– ———- —————–
21???????? ?1??????????????? 16
先套下公式看看
COST=1+CEIL(21*EFFECTIVE INDEX SELECTIVITY)+CEIL(16*EFFECTIVE TABLE SELECTIVITY)
有效表選擇率和有效索引選擇率 是指能定位索引和表的謂詞.
這里只有一個謂詞 a<600 并且它是表和索引的定位的謂詞.
關于謂詞區間的選擇率計算
公式=需要空間除以可用空間
可用空間=high_vlaue-low_value=12-1=11
需要空間=(high_vlaue-limit) 或(limit-low_value)或(high_vlaue-low_value)
1 month_no>8 (high_vlaue-limit)/(high_vlaue-low_value)=(12-8)/11=4/11
A<600 =>(limit- low_value)/(high_vlaue-low_value)
=>(limit- low_value)/(high_vlaue-low_value)
=>(600-C104)/(C302-C104)
不知道如何算還是采用下面的吧!
SQL> SELECT MAX(A),MIN(A) FROM T1;
MAX(A)???? MIN(A)
———- ———-
10000????????? 1
=>(600-1)/(10000-1) =0.059905990599059905990599059905991
COST=1+CEIL(21*EFFECTIVE INDEX SELECTIVITY)+CEIL(16*EFFECTIVE TABLE SELECTIVITY)
=1+CEIL(21*0.05990)+CEIL(16*0.05990)
=1+ceil(1.2579)+ceil(0.9584)
=1+1+1
=3
總結
以上是生活随笔為你收集整理的oracle通过执行计划cost,Oracle 执行计划(5)—cost成本之索引范围扫描-B树索引的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 互联网之道,看电商的数据化管理方案
- 下一篇: oracle内部错误排查,Oracle内