[发明专利]用于捕获低成本查询计划的基于学习的查询计划缓存在审
申请号: | 201980096780.5 | 申请日: | 2019-05-24 |
公开(公告)号: | CN114041128A | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 胡荣中;艾哈迈德·加扎尔;张明义 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/2452 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 捕获 低成本 查询 计划 基于 学习 缓存 | ||
提供了一种查询处理设备,包括耦合到通信接口的处理器和查询存储器。所述处理器接收处于训练模式下的查询的当前提交、存储的先前执行计划和存储的所述先前执行计划的统计信息。所述处理器为所述查询生成当前执行计划,执行所述当前执行计划并收集统计信息。所述处理器将所述当前执行计划和所述统计信息存储在所述查询存储器中,并根据所述当前执行计划确定所述查询不处于所述训练模式。所述处理器从多个存储的用于所述查询的执行计划中选择一个用于所述查询的执行计划,包括所述先前执行计划和所述当前执行计划,并将所述选择的用于所述查询的执行计划与指示所述查询不处于所述训练模式的指示一起存储在所述查询存储器中。
相关申请的交叉引用
无
技术领域
本发明涉及一种数据库管理系统(database management system,DBMS)中的查询处理,具体涉及一种DBMS,所述DBMS基于查询的执行时间来缓存用于查询的执行计划以学习相对低成本的用于查询的执行计划。
背景技术
DBMS中的查询处理通常涉及两个不同的阶段。第一阶段或编译阶段检查查询的语法和语义。该阶段还包括使用基于物化视图、索引和基于成本的优化的查询重写生成执行计划。查询重写将第一查询变换为利用物化视图和索引的等效第二查询。第二查询以更低的成本产生与第一查询相同的结果。物化视图是先前执行的查询的缓存结果或中间结果。索引是表中选定数据列的副本,可以有效地被搜索,并且还可以包括从中复制索引的完整数据行的链接。除了使用缓存的物化视图外,查询重写还可以根据其估计成本从等效操作中进行选择,组合多个操作和/或更改操作的顺序。
除了使用查询重写外,查询优化方法还使用统计信息,包括数据大小估计,以在基于成本的查询优化系统中制定更好的查询。基于成本的优化可以估计查询使用的表列的统计信息,并基于这些估计确定待使用的特定算法以及作为查询重写的一部分的执行算法的特定顺序。基数是衡量数据库特定列中数据值唯一性的度量。列具有低基数值可能表示列中有大量重复元素。基数估计包括行计数和基表(例如,数据库列)和中间结果(例如,对基表进行操作所产生的中间数据)的不同值的数量。执行每个运算符的输出数据量也是可能影响性能的基数值。
行计数、不同值的数量和数据大小等统计度量在连接排序、选择连接方法类型以及选择待在用于特定查询的执行计划中使用的聚合方法类型等操作中起着重要作用。例如,DBMS采用两种类型的连接算法:嵌套循环连接算法和排序合并连接算法。对于示例连接操作(JOIN(A,B)),嵌套循环连接算法将表A中的每条记录与表B中的每条记录进行比较,以生成连接表,而排序合并连接算法将表A和表B分别排序,并组合排序后的表,以生成连接表。嵌套循环算法对相对较小的表更高效,而排序合并算法对相对较大的表更高效。
执行计划的成本可以基于由计划的执行产生的一个或多个度量(例如,最短响应时间、最低中央处理器(central processing unit,CPU)成本、最低输入/输出(input/output,I/O)处理成本、最低网络处理成本,或其任何适当的组合)。基于成本的优化器生成的执行计划被馈送到第二阶段,该第二阶段针对数据库对象执行计划并生成查询结果。查询处理时间是编译和执行时间的总和。
一些DBMS的用户多次提交同一查询,因为他们可能希望确定查询结果如何随时间变化。例如,制造商可能想知道其每周、每天甚至每小时的销售数据。为了最大限度地减少编译阶段的开销,许多DBMS将用于特定查询的执行计划存储在缓存中,以便当同一查询被多次提交时,执行计划可以被重复使用。缓存的执行计划可以完全跳过编译阶段,因为缓存的计划可以被检索并传递到执行阶段。但是,由于估计统计信息中的错误和/或数据库中的更改,缓存的计划可能不是每个查询实例的最佳计划。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980096780.5/2.html,转载请声明来源钻瓜专利网。