1 .一种关系型数据库查询优化方法,其特征在于,所述方法包括:
计算SQL语句的N个过滤条件中每个过滤条件的第一等级值,得到N个第一等级值,所述
SQL语句用于对至少两个基表进行连接查询;
计算所述SQL语句的连接条件的第二等级值;
在所述N个第一等级值中存在至少一个第三等级值的情况下,将每个第三等级值对应
的过滤条件上拉到所述连接条件之上执行;
在所述N个第一等级值中存在至少一个第四等级值的情况下,将每个第四等级值对应
的过滤条件下推到所述连接条件之下执行;
其中,所述每个第三等级值大于或等于所述第二等级值,所述每个第四等级值小于所
述第二等级值,N为正整数。
2.根据权利要求1所述的方法,其特征在于,所述每个第三等级值对应的过滤条件中存
在执行代价大于或等于代价阈值的函数。
3 .根据权利要求1所述的方法,其特征在于,所述计算SQL语句的N个过滤条件中每个过
滤条件的第一等级值,得到N个第一等级值;计算所述SQL语句的连接条件的第二等级值,包
括:
基于所述每个过滤条件的执行代价,计算得到相应的第一等级值;
基于所述连接条件的执行代价,计算得到所述第二等级值。
4 .根据权利要求2所述的方法,其特征在于,所述基于所述每个过滤条件的执行代价,
计算得到相应的第一等级值;基于所述连接条件的执行代价,计算得到所述第二等级值,包
括:
基于所述每个过滤条件的执行代价和选择率,计算得到相应的第一等级值;
基于所述连接条件的执行代价和选择率,计算得到所述第二等级值。
5 .根据权利要求1所述的方法,其特征在于,所述至少一个第三等级值对应的过滤条件
按照对应的等级值的大小从小到大执行。
6 .根据权利要求1所述的方法,其特征在于,所述至少一个第四等级值对应的过滤条件
按照对应的等级值的大小从小到大执行。
7 .根据权利要求1至6任一所述的方法,其特征在于,所述将每个第四等级值对应的过
滤条件下推到所述连接条件之下执行之后,所述方法还包括:
在所述N个第一等级值中包括大于或等于等级阈值的第一等级值的情况下,保存所述
SQL语句的执行结果。
8.一种关系型数据库查询优化装置,其特征在于,所述装置包括:计算模块和执行模
块;
所述计算模块,用于计算SQL语句的N个过滤条件中每个过滤条件的第一等级值,得到N
个第一等级值,所述SQL语句用于对至少两个基表进行连接查询;计算所述SQL语句的连接
条件的第二等级值;
所述执行模块,用于在所述N个第一等级值中存在至少一个第三等级值的情况下,将每
个第三等级值对应的过滤条件上拉到所述连接条件之上执行;在所述N个第一等级值中存
在至少一个第四等级值的情况下,将每个第四等级值对应的过滤条件下推到所述连接条件
之下执行;其中,所述每个第三等级值大于或等于所述第二等级值,所述每个第四等级值小
权 利 要 求 书
1/2 页
2
评论