索引统计信息的种类和含义
索引的统计信息用来描述Oracle数据库里索引的详细信息,它包含索引的层级、叶子块的数量、聚簇因子等典型的维度。
这些维度的信息存储在数据字典集表IND$,INDAPRT$,INDCOMPART$,INDSUBPART$
通过数据字典DBA_INDEXES,DBA_IND_PARTITIONS,DBA_IND_SUBPARTITIONS来分别查看索引,分区索引和局部分区索引的子分区的统计信息。
使用ANALYZE分析索引的结构
analyze index index_name validate structure;
聚簇因子的含义和重要性
聚簇因子是按照索引键值排序的索引行和存储于对应表中数据行的存储顺序的相似程度。
CBO中计算索引范围扫描(INDEX RANGE SCAN)的成本的计算公式:
IRS cost = I/O cost + CPU cost
其中I/O cost的计算公式如下:
I/O Cost = Index Access I/O cost + Table Access I/O Cost
Index Access I/O Cost = BLEVEL + CEIL(#LEAF_BLOCKS * IX_SEL)