索引回表與聚合因子

由於索引塊中存儲了索引列的值,所以在檢索項爲索引列時,可以避免回表;

或者通過建組合索引防止回表;

即使一定要回表,也存在性能差異。這裏涉及到聚合因子。

當表數據的插入順序與索引的插入順序相似度很高時,我們稱之爲聚合因子比較低;差異明顯的,我們稱之爲聚合因子比較高。

聚合因子低的查詢效率高。


查看聚合因子高低的語句:

CLUSTERING_FACTOR 即爲聚合因子,官方解釋:表明有多少臨近的索引條目指到不同的數據塊;

select a.index_name,
       b.num_rows,
       b.blocks,
       a.clustering_factor
  from user_indexes a, user_tables b
where index_name in ('COLOCATED_PK', 'DISORGANIZED_PK' )
  and a.table_name = b.table_name;


INDEX_NAME                       NUM_ROWS     BLOCKS CLUSTERING_FACTOR
------------------------------            ----------             ----------    -----------------
COLOCATED_PK                       100000       1252              1190
DISORGANIZED_PK                    100000       1219             99899

發佈了83 篇原創文章 · 獲贊 6 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章