Difference to between COMPUTE STATISTICS and VALIDATE STRUCTURE for ANALYZE INDEX
兩種方法 analyze index:
ANALYZE INDEX index_name COMPUTE STATISTICS;
ANALYZE INDEX index_name VALIDATE STRUCTURE;
COMPUTE STATISTICS:
生成統計信息對於CBO模式
使用所有的數據計算索引
創建基於統計信息的直方圖
讓優化器生產更好的執行計劃
VALIDATE STRUCTURE:
僅是一個診斷工具,不收集統計信息
檢測索引的物理、邏輯結構是否損壞
生產一些統計信息在INDEX_STATS表在SESSION級別
檢查索引的完整性/碎片化
ANALYZE INDEX index_name VALIDATE STRUCTURE ONLINE;
index_stats表中沒有統計信息
ANALYZE INDEX index_name VALIDATE STRUCTURE OFFLINE;
index_stats表中有統計信息
PRACTICE:
index_stats only stores a single line of data (in the same session, new value replaces the old one)
sys@GHSJDB> ANALYZE INDEX PLATFORM.S_RIGHT_FUN_REL_IDX$$_3428001A VALIDATE STRUCTURE;
Index analyzed.
sys@GHSJDB> SELECT NAME ,round((del_lf_rows/(lf_rows+0.0000000001))*100) FROM index_stats;
NAME ROUND((DEL_LF_ROWS/(LF_ROWS+0.0000000001))*100)
----------------------------------- -----------------------------------------------
S_RIGHT_FUN_REL_IDX$$_3428001A 0