1 .一种数据库查询语句优化方法,其特征在于,包括:
响应于查询语句为内连接查询,根据所述查询语句包括的连接对象和连接条件,确定
所述查询语句是否满足扩写条件;所述扩写条件包括:所述连接条件为等值连接、至少一个
连接对象满足优化条件;所述优化条件包括:连接对象为视图或通用表表达式构建的表项、
连接对象的数据量小于预设数据量阈值;
若确定所述查询语句满足所述扩写条件,则根据所述连接条件和连接对象生成目标扩
写语句;所述目标扩写语句用于减少执行连接操作的连接对象的数据量;
将所述目标扩写语句添加至所述连接条件中,以完成对所述查询语句的优化。
2 .根据权利要求1所述的方法,其特征在于,所述根据所述查询语句包括的连接对象和
连接条件,确定所述查询语句是否满足扩写条件,包括:
确定所述连接条件是否为等值连接;
分别确定各连接对象是否满足优化条件;
若确定所述连接条件为等值连接、且确定至少一个连接对象满足优化条件,则确定所
述查询语句满足扩写条件。
3 .根据权利要求2所述的方法,其特征在于,所述分别确定各连接对象是否满足优化条
件,包括:
分别确定各连接对象是否为视图或通用表表达式构建的表项;
分别确定各连接对象的数据量;
对于各连接对象,若确定连接对象为视图或通用表表达式构建的表项、且确定连接对
象的数据量小于预设数据量阈值,则确定连接对象满足优化条件。
4 .根据权利要求1所述的方法,其特征在于,所述连接对象的数量为两个,所述连接条
件包括各连接对象的连接字段;所述根据所述连接条件和连接对象生成目标扩写语句,包
括:
若确定只有一个连接对象满足优化条件,则将满足优化条件的连接对象确定为优化对
象、将不满足优化条件的连接对象确定为被优化对象;
若确定两个连接对象均满足优化条件,则将数据量更少的连接对象确定为优化对象,
将数据量更多的连接对象确定为被优化对象;
根据所述优化对象及其连接字段生成第一查询子句;所述第一查询子句用于查询所述
优化对象的连接字段的至少一个第一字段值;
根据所述被优化对象及其连接字段、预设扩写语句和所述第一查询子句,生成所述目
标扩写语句;所述目标扩写语句在所述查询语句在执行时,用于查询所述被优化对象的连
接字段的至少一个第二字段值中与任意一个所述第一字段值相等的数据。
5 .根据权利要求4所述的方法,其特征在于,所述根据所述优化对象及其连接字段生成
第一查询子句,包括:
获取所述优化对象的创建语句;所述创建语句包括查询条件和创建所述优化对象的基
表;
根据所述创建语句包括的查询条件、所述优化对象的连接字段和所述基表,生成所述
第一查询子句。
6 .根据权利要求4所述的方法,其特征在于,所述预设扩写语句包括字段参数、被优化
权 利 要 求 书
1/2 页
2
评论