1 .一种数据库聚合索引的生成方法,包括:
获取用于创建所述聚合索引的语句,并根据所述语句确定出统计公式和被索引关系;
创建索引文件以及统计文件;
根据所述统计公式对所述被索引关系的被统计项进行统计,并将统计得到的聚合数据
存储于统计文件中;
在所述索引文件中记录索引键值、所述被统计项在被索引关系中的位置、以及所述聚
合数据在所述统计文件中位置三者的对应关系。
2.根据权利要求1所述的数据库聚合索引的生成方法,其中
在所述创建索引文件以及统计文件之前还包括:获取所述聚合索引的去重设置;并且
所述将统计得到的聚合数据存储于统计文件中的步骤还包括:根据所述去重设置确定
对所述被索引关系中重复的被统计项单独保存对应的统计值或仅保存一个统计值。
3 .根据权利要求1所述的数据库聚合索引的生成方法,其中
所述被索引关系为单表或者通过子查询得到的关联多个表的查询结果。
4 .根据权利要求1所述的数据库聚合索引的生成方法,其中,在根据所述语句确定出统
计公式和被索引关系的步骤之后还包括:
在所述数据库的系统表中记录所述统计公式以及所述索引文件与所述被索引关系的
对应关系。
5 .根据权利要求4所述的数据库聚合索引的生成方法,其中,在所述数据库的系统表中
记录所述统计公式的步骤包括:
对所述统计公式进行编译,以得到与所述统计公式对应的可执行代码;
保存与所述统计公式对应的可执行代码。
6 .根据权利要求4所述的数据库聚合索引的生成方法,其中,
在所述数据库的系统表中记录所述统计公式的步骤之前还包括:
判断所述统计公式是否定义有对应的转换规则;
若是,对按照所述对应的转换规则对所述统计进行转换;并且
在所述数据库的系统表中记录所述统计公式的步骤包括:在所述数据库的系统表中记
录转换后的所述统计公式。
7 .根据权利要求1所述的数据库聚合索引的生成方法,其中,所述在所述索引文件中记
录索引键值、所述被统计项在被索引关系中的位置、以及所述聚合数据在所述统计文件中
位置三者的对应关系的步骤之后还包括:
获取所述被索引关系的操作,并判断所述操作是否触发所述被索引关系的修改;
若是,根据所述被索引关系的修改对所述索引文件以及所述统计文件进行修改。
8.根据权利要求1所述的数据库聚合索引的生成方法,其中,在所述索引文件中记录索
引键值、索引键值对应数据在被索引关系中的位置、以及所述聚合数据在所述统计文件中
位置三者的对应关系的步骤之后还包括:
获取所述被索引关系的统计查询,并判断所述统计查询是否针对所述聚合数据;
若是,通过所述索引文件查询出所述聚合数据,并响应所述统计查询。
9.一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理
器执行时实现根据权利要求1至8任一项所述的数据库聚合索引的生成方法。
权 利 要 求 书
1/2 页
2
相关文档
评论