1 .一种查询语句优化方法,其特征在于,
获取待处理的查询语句;
在所述查询语句包括分组聚合子语句的情况下,根据所述分组聚合子语句和所述查询
语句确定所述查询语句是否为可以优化的查询语句;
若是,对所述分组聚合子语句进行优化,得到目标查询语句,以使所述分组聚合子语句
的分组顺序与待查询数据表的索引顺序一致;
执行基于所述目标查询语句生成的执行计划。
2 .根据权利要求1所述的方法,其特征在于,所述对所述分组聚合子语句进行优化,得
到目标查询语句包括:
根据所述数据表的索引顺序,对所述分组聚合子语句中分组聚合的键值进行重排,得
到所述目标查询语句。
3 .根据权利要求2所述的方法,其特征在于,所述根据所述数据表的索引顺序,对所述
分组聚合子语句中分组聚合的键值进行重排,得到所述目标查询语句,包括:
获取所述分组聚合子语句中分组聚合的键值顺序,以及,所述数据表的索引的键值顺
序;
将所述分组聚合子语句的键值顺序修改为所述索引的键值顺序,得到所述目标查询语
句。
4 .根据权利要求1‑3任一项所述的方法,其特征在于,所述根据所述分组聚合子语句和
所述查询语句确定所述查询语句是否为待优化的查询语句,包括:
获取所述查询语句对应的数据表;
确定所述分组聚合子语句的所述键值是否属于同一数据表;
若是,则根据所述数据表和所述分组聚合子语句的键值确定所述查询语句是否为待优
化的查询语句;
若否,则确定所述查询语句非待优化的查询语句。
5 .根据权利要求4所述的方法,其特征在于,所述根据所述数据表和所述分组聚合子语
句的键值确定所述查询语句是否为待优化的查询语句,包括:
确定所述数据表是否存在索引,且所述索引的类型是否为目标索引类型;
若是,则根据所述分组聚合子语句的键值和所述索引的键值,确定所述查询语句是否
为待优化的查询语句;
若否,则确定所述查询语句非待优化的查询语句。
6 .根据权利要求5所述的方法,其特征在于,所述根据所述分组聚合子语句的键值和所
述索引的键值,确定所述查询语句是否为待优化的查询语句,包括:
确定所述分组聚合的键值是否为所述索引键值的子集,且,所述分组聚合的键值顺序
与所述索引中对应键值的键值顺序是否不一致;
若是,则确定所述查询语句为待优化的查询语句;
若否,则确定所述查询语句非待优化的查询语句。
7 .根据权利要求3所述的方法,其特征在于,所述获取所述数据表的索引的键值顺序,
包括:
获取所述索引的元数据;
权 利 要 求 书
1/2 页
2
评论