索引统计
结构定义
以下是 mco_index_stat_t 结构的定义,该结构提供了索引的内存使用统计信息:
typedef struct mco_index_stat_t_
{
uint2 class_code; /* 索引所属的类代码 */
uint4 type; /* MCO_IDXST_标志的位图,定义如下 */
char * plabel; /* 索引标签 */
mco_counter_t keys_num; /* 索引中的键的数量 */
mco_counter_t pages_num; /* 索引所使用的页数 */
mco_counter_t avg_cmp; /* 定位一个元素所需的平均比较次数 */
mco_counter_t max_cmp; /* 定位一个元素所需的最大比较次数 */
union {
mco_index_stat_tree_t btree;
mco_index_stat_kdtree_t kdtree;
mco_index_stat_hash_t hash;
mco_index_stat_tree_t ptree;
mco_index_stat_rtree_t rtree;
mco_index_stat_meta_t meta;
} spec; /* 包含特定统计数据的联合体,见下表 */
} mco_index_stat_t, * mco_index_stat_h;
这些统计数据取决于索引的类型。 元素类型由以下值的组合来定义:
存储类型
- MCO_IDXST_TYPE_MEM:内存索引区
- MCO_IDXST_TYPE_DISK:持久索引
索引类型
- MCO_IDXST_NATURE_BTREE:二叉树
- MCO_IDXST_NATURE_PTREE:Patricia树
- MCO_IDXST_NATURE_KDTREE:KD树
- MCO_IDXST_NATURE_HASH:哈希索引
- MCO_IDXST_NATURE_META:元索引
- MCO_IDXST_NATURE_RTREE:R树
特性
- MCO_IDXST_FEATURE_UNIQUE:唯一的
- MCO_IDXST_FEATURE_UDF:用户定义
- MCO_IDXST_FEATURE_THICK:厚索引
- MCO_IDXST_FEATURE_OPTIMIZED:使用了优化的比较和哈希函数
功能
- MCO_IDXST_FUNCTION_REGULAR 常规类索引
- MCO_IDXST_FUNCTION_OID:对象标识符元索引
- MCO_IDXST_FUNCTION_AUTOOID:自动对象标识符元索引
- MCO_IDXST_FUNCTION_AUTOID:自动标识元索引
- MCO_IDXST_FUNCTION_LIST:列表元索引