1 .一种自动创建索引的方法,其特征在于,包括:
分析数据查询语句中的目标数据表以及操作条件;
判断是否需要分析数据分布,当判断需要分析时,计算所述目标数据表中满足所述操
作条件的表数据的分布情况;
当所述表数据的分布情况满足预设的索引创建策略时,将所述操作条件创建为所述目
标数据表的索引。
2.如权利要求1所述的方法,其特征在于,分析数据查询语句中的目标数据表以及操作
条件,具体包括:
对所述数据查询语句进行语法检查,判断所述数据查询语句是否为无效语句;
当判定为有效语句时,根据所述数据查询语句的语法规则获取所述目标数据表以及所
述操作条件。
3 .如权利要求1所述的方法,其特征在于,判断是否需要分析数据分布,具体包括:
获取所述索引创建策略的创建依据,根据所述创建依据判断所述目标数据表是否在预
设的数据表白名单中;
当存在时,则继续根据所述创建依据判断是否需要分析数据分布,否则,禁止对所述目
标数据表继续创建索引。
4 .如权利要求1或3所述的方法,其特征在于,计算所述目标数据表中满足所述操作条
件的表数据的分布情况,具体包括:
读取预设的表数据扫描策略;
根据所述扫描策略从所述目标数据表中获取满足所述操作条件的表数据;
根据预设统计方法计算所述表数据的分布情况。
5 .如权利要求1所述的方法,其特征在于,当所述表数据的分布情况满足预设的索引创
建策略时,将所述操作条件创建为所述目标数据表的索引,具体包括:
根据所述表数据的分布情况获取各个操作条件的筛选效率,按照筛选效率高低将所述
操作条件进行排序,将排序后的所述操作条件建立复合索引;
以所述复合索引的先导创建单一索引;
判断所述复合索引和所述单一索引的结果集占比是否大于预设阈值时:当大于时,则
将所述单一索引作为所述目标数据表的索引;否则,将所述复合索作为所述目标数据表的
索引。
6 .如权利要求1所述的方法,其特征在于,所述将所述操作条件创建为所述目标数据表
的索引之后,所述方法还包括:
实时监测数据查询语句和/或数据库中的数据表的是否有变化,当监测到有变化时,则
根据变化情况确定建立索引或者删除索引。
7 .如权利要求1所述的方法,其特征在于,所述方法还包括:
当判断不需要分析数据分布时,则直接将所述操作条件创建所述目标数据表的索引。
8.如权利要求1所述的方法,其特征在于,所述操作条件包括where筛选、group by分
组、order by排序中的任意一种或多种操作所对应的条件。
9.一种自动创建索引的装置,其特征在于,包括:
分析单元,用于分析数据查询语句中的目标数据表以及操作条件;
权 利 要 求 书
1/2 页
2
评论