1 .一种数据库语句优化方法,其特征在于,包括:
获取用户输入的查询语句;
若所述查询语句包括外层分组子句和表单子句,则根据所述外层分组子句构建内层分
组子句,其中,所述表单子句的表单项为派生表且不包括分组子句;
根据所述内层分组子句转换所述查询语句;
外层分组项中包括所述派生表的列;
所述根据所述内层分组子句转换所述查询语句包括:
若所述派生表中存在不是外层分组项的查询项,则删除所述派生表的查询项;
所述删除所述派生表的查询项之后,还包括:
新建内层派生表,所述内层派生表包括:包含内层分组子句的内层查询语句,根据外层
分组子句构建所述内层查询语句;
根据所述内层派生表构建中间层派生表;
根据所述中间层派生表转换所述查询语句。
2.根据权利要求1所述的方法,其特征在于,所述查询语句还包括外层集函数,其中,所
述外层集函数包括MAX函数、MIN函数、COUNT函数以及SUM函数中的至少一种,且所述SUM函
数的参数为所述派生表的列,所述MAX函数、MIN函数和COUNT函数的参数为常数和/或所述
派生表的列。
3 .根据权利要求2所述的方法,其特征在于,根据所述内层分组子句转换所述查询语句
包括:
若所述派生表中存在不是外层分组项且不是外层集函数的参数的查询项,则删除所述
派生表的查询项。
4 .根据权利要求3所述的方法,其特征在于,删除所述派生表的查询项之后,还包括:
新建内层派生表,所述内层派生表包括:包含内层集函数和内层分组子句的内层查询
语句,根据外层分组子句构建所述内层查询语句,根据外层集函数构建内层集函数;
根据所述内层派生表构建中间层派生表;
根据所述中间层派生表转换所述查询语句。
5 .根据权利要求3所述的方法,其特征在于,还包括:
若外层集函数为COUNT函数,且COUNT函数的参数为所述派生表的列,则将所述COUNT函
数转换为SUM函数,参数不变;
若外层集函数为COUNT函数,且COUNT函数的参数为常数,则将所述COUNT函数转换为
SUM函数,参数转换为TMPCOL。
6 .一种数据库语句优化装置,其特征在于,包括:
获取模块,用于获取用户输入的查询语句;
构建模块,用于若所述查询语句包括外层分组子句和表单子句,则根据所述外层分组
子句构建内层分组子句,其中,所述表单子句的表单项为派生表且不包括分组子句;
转换模块,用于根据所述内层分组子句转换所述查询语句;
外层分组项中包括所述派生表的列;
转换模块包括:
第一删除单元,用于若所述派生表中存在不是外层分组项的查询项,则删除所述派生
权 利 要 求 书
1/2 页
2
评论