[发明专利]查询计划选择系统、方法、电子设备及介质有效
申请号: | 202210204269.6 | 申请日: | 2022-03-03 |
公开(公告)号: | CN114328614B | 公开(公告)日: | 2022-07-05 |
发明(设计)人: | 朱鎔;陈唯;普法德勒·安德烈亚斯·沃纳·罗伯特;黄柏彤;曾恬静;丁博麟;周靖人 | 申请(专利权)人: | 阿里巴巴(中国)有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/2455 |
代理公司: | 北京智信四方知识产权代理有限公司 11519 | 代理人: | 吕雁葭 |
地址: | 311121 浙江省杭州市余杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 查询 计划 选择 系统 方法 电子设备 介质 | ||
本公开提供了一种查询计划选择系统、方法、电子设备及介质,所述查询计划选择系统包括:子查询条件确定模块,被配置为根据查询条件确定M个子查询条件,其中,所述子查询条件用于构造多个不同的查询计划,所述查询计划用于对数据库进行查询以得到对应于所述查询条件的查询结果,M1;初始估计基数确定模块,被配置为确定所述子查询条件的初始估计基数;目标查询计划选择模块,被配置为根据所述M个子查询条件的初始估计基数和所述M个子查询条件的初始估计基数的缩放结果,选择目标查询计划。
技术领域
本公开涉及数据库技术领域,具体涉及一种查询计划选择系统、方法、电子设备及介质。
背景技术
查询优化器是数据库的核心组件,用于根据查询条件生成可执行的查询计划,根据查询计划对数据库进行查询以得到相应的查询结果。当根据查询条件在多个数据表中执行查询时,可以根据查询条件生成多个子查询条件,每个子查询条件针对所述多个数据表中的一个或几个数据表的连接表执行查询。
对子查询条件进行不同的组合,可以得到不同的查询计划。对于每个查询计划,先分别根据其包含的子查询条件得到相应的子查询结果,再对子查询结果进行连接以得到查询条件的查询结果。由于每个查询计划的执行时间不同,所以,希望通过查询优化器对查询计划进行选择,以得到优选的查询计划。
发明内容
为了解决相关技术中的问题,本公开实施例提供一种查询计划选择系统、方法、电子设备及介质。
第一方面,本公开提供了一种查询计划选择系统,包括:
子查询条件确定模块,被配置为根据查询条件确定M个子查询条件,其中,所述子查询条件用于构造多个不同的查询计划,所述查询计划用于对数据库进行查询以得到对应于所述查询条件的查询结果,M1;
初始估计基数确定模块,被配置为确定所述子查询条件的初始估计基数;
目标查询计划选择模块,被配置为根据所述M个子查询条件的初始估计基数和所述M个子查询条件的初始估计基数的缩放结果,选择目标查询计划。
根据本公开的实施例,所述目标查询计划选择模块包括:
参数集合生成模块,被配置为根据所述M个子查询条件的初始估计基数生成多个参数集合,所述参数集合中的M个参数是相应的子查询条件的初始估计基数,或者是相应的子查询条件的初始估计基数的缩小或放大结果;
执行代价确定模块,被配置为基于所述参数集合,确定多个查询计划各自对应的执行代价;
查询计划确定模块,被配置为根据所述执行代价确定所述目标查询计划。
根据本公开的实施例,所述根据所述子查询条件的初始估计基数生成多个参数集合,包括:
根据所述M个子查询条件的初始估计基数生成第一组参数集合,所述第一组参数集合包括一个参数集合,所述一个参数集合中的M个参数是相应的子查询条件的初始估计基数;
通过对第i组参数集合中的各参数集合中的第i+1个参数进行缩小和放大,生成第i+1组参数集合,1≤i≤N,NM;
将所述第1~N组参数集合中的参数集合作为所述多个参数集合。
根据本公开的实施例,所述一个参数集合中的参数按照相应子查询条件涉及的数据表数量和相应子查询条件的初始估计基数的大小进行排序。
根据本公开的实施例,所述基于所述参数集合,确定多个查询计划各自对应的执行代价,包括:
将所述参数集合中的参数作为相应的子查询条件的估计基数;
根据所述查询计划对应的子查询条件的估计基数,确定所述查询计划的执行代价。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴(中国)有限公司,未经阿里巴巴(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210204269.6/2.html,转载请声明来源钻瓜专利网。