[发明专利]查询优化器的数据处理方法、装置及电子设备在审
申请号: | 202210002870.7 | 申请日: | 2022-01-04 |
公开(公告)号: | CN114328612A | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 李金鑫 | 申请(专利权)人: | 北京金山云网络技术有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/242;G06F16/2455 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 舒淼 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 查询 优化 数据处理 方法 装置 电子设备 | ||
本发明提供了一种查询优化器的数据处理方法、装置及电子设备,涉及数据库技术领域,本发明在生成执行计划时,先获取查询语句对应的多个基本表;然后采用随机方式,从目标连接表对应的多条路径中确定一条目标路径;其中,目标连接表由多个基本表组成,路径用于指示对目标连接表中的每个基本表中数据的访问方式,以及各个基本表之间的连接方式和连接顺序;进而由目标路径生成执行计划,以按照执行计划执行查询语句。这样使用相同的查询语句进行多次数据库内核测试时,采用随机方式确定出的目标路径不同,从而生成的执行计划不仅可以包含最优路径,还可以遍历到其他路径,因此提高了测试覆盖率。
技术领域
本发明涉及数据库技术领域,尤其是涉及一种查询优化器的数据处理方法、装置及电子设备。
背景技术
查询优化器是负责生成SQL(Structured Query Language,结构化查询语言)语句的有效执行计划的数据库引擎组件。
在数据库实际使用中,查询优化器会根据SQL语句对应的查询树,生成多个路径,并保留最优路径,由最优路径生成执行计划,其中路径代表了对查询树中每个基本表中数据的访问方式以及基本表之间的连接方式和连接顺序。然而在数据库内核测试中,仅凭借一条最优路径生成的执行计划来验证SQL语句的执行结果的正确性,测试覆盖率较低,无法保证数据库内核中各个模块的正确性。
发明内容
本发明的目的在于提供一种查询优化器的数据处理方法、装置及电子设备,以提高测试覆盖率。
第一方面,本发明实施例提供了一种查询优化器的数据处理方法,所述方法包括:
获取查询语句对应的多个基本表;
采用随机方式,从目标连接表对应的多条路径中确定一条目标路径;其中,所述目标连接表由多个所述基本表组成,所述路径用于指示对所述目标连接表中的每个所述基本表中数据的访问方式,以及各个所述基本表之间的连接方式和连接顺序;
由所述目标路径生成执行计划,以按照所述执行计划执行所述查询语句。
进一步地,所述采用随机方式,从目标连接表对应的多条路径中确定一条目标路径,包括:
根据预设的随机模式,从所述目标连接表对应的多条路径中确定一条目标路径;
其中,所述随机模式包括第一随机模式、第二随机模式、第三随机模式或第四随机模式,所述第一随机模式表示从所述目标连接表对应的所有路径中随机选取所述目标路径,所述第二随机模式表示基于路径的总代价从所述目标连接表对应的所有路径中随机选取所述目标路径,所述第三随机模式表示基于路径的启动代价从所述目标连接表对应的所有路径中随机选取所述目标路径,所述第四随机模式表示基于路径的总代价和启动代价从所述目标连接表对应的所有路径中随机选取所述目标路径。
进一步地,所述随机模式为第一随机模式,所述根据预设的随机模式,从所述目标连接表对应的多条路径中确定一条目标路径,包括:
以所述基本表为节点构建所述目标路径的第一层;在所述第一层中,对于每个所述基本表,保存采用预设的随机算法从该基本表对应的多种访问方式中确定的一种访问方式;
以由两个所述基本表组成的第二连接表为节点构建所述目标路径的第二层;在所述第二层中,将所述第一层中的各个所述基本表两两连接,得到每个所述第二连接表对应的多条第二路径,并保存采用所述随机算法从每个所述第二连接表对应的多条第二路径中确定的一条第二路径,其中,每个所述第二连接表对应的不同第二路径所对应的连接方式不同;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山云网络技术有限公司,未经北京金山云网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210002870.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:会议室投屏方法、装置及系统
- 下一篇:一种粽子制作方法