[发明专利]查询优化器约束在审
申请号: | 201980010670.2 | 申请日: | 2019-01-18 |
公开(公告)号: | CN111670433A | 公开(公告)日: | 2020-09-15 |
发明(设计)人: | W·J·麦肯纳 | 申请(专利权)人: | 易享信息技术有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 高伟 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 查询 优化 约束 | ||
1.一种非暂时性计算机可读介质,其上存储有程序指令,所述程序指令能够使计算系统实现操作,所述操作包括:
由数据库系统的查询优化器接收第一查询,所述第一查询包括第一约束,所述第一约束限制对能够用于实现所述第一查询的执行计划集的选择,其中所述第一约束至少识别用于在所述第一查询中实现子句的第一选项和第二选项;
由所述查询优化器并基于所述第一约束,评估包括所述第一选项的执行的第一执行计划和包括所述第二选项的执行的第二执行计划;
基于所述评估,由所述查询优化器选择所述第一执行计划和所述第二执行计划中的一个以实现所述第一查询;以及
由所述查询优化器使得执行所选的执行计划。
2.如权利要求1所述的计算机可读介质,其中所述子句请求从所述数据库系统选择数据,其中所述第一选项识别要用于执行所述选择的第一索引,并且其中所述第二选项识别要用于执行所述选择中的第二索引。
3.如权利要求1所述的计算机可读介质,其中所述子句请求连接来自所述数据库系统中的多个表的内容,其中所述第一选项是能够执行为连接所述内容的第一类型的连接操作,并且其中所述第二选项是能够执行为连接所述内容的第二类型的连接操作。
4.如权利要求3所述的计算机可读介质,其中所述第一类型的连接操作是散列连接,并且其中所述第二类型的连接操作是嵌套循环连接。
5.如权利要求1所述的计算机可读介质,其中所述子句请求连接来自所述数据库系统中的多个表的内容,其中所述第一选项是用于连接来自所述多个表的内容的第一排序,并且其中所述第二选项是用于连接来自所述多个表的内容的第二排序。
6.如权利要求1所述的计算机可读介质,其中所述操作还包括:
由所述查询优化器接收包括第二约束的第二查询,其中所述第二查询请求连接操作,以及其中所述第二约束指示所述连接操作将采用使用索引的嵌套循环连接来实现;以及
由所述查询优化器并且基于所述第二约束评估包括使用索引执行所述嵌套循环连接的执行计划。
7.如权利要求1所述的计算机可读介质,
由所述查询优化器接收包括第二约束的第二查询,其中所述第二约束识别所述第二查询中指定的表的基数;和
由所述查询优化器基于所述识别的基数来评估多个执行计划。
8.如权利要求1所述的计算机可读介质,其中所述第一查询包括第二查询,所述第二查询包括第二约束;以及
其中所述操作还包括:
将所述第一查询和所述第二查询合并为单个查询,包括将所述第一约束和所述第二约束合并为单个约束。
9.如权利要求1所述的计算机可读介质,其中所述操作还包括:
由所述查询优化器接收包括第二约束的第二查询;
由所述查询优化器确定不存在满足所述第二约束的执行计划;以及
响应于所述确定,提供所述查询优化器不能确定满足所述第二约束的执行计划的指示。
10.如权利要求9所述的计算机可读介质,其中所述操作还包括:
由所述查询优化器选择不满足所述第二约束的另一执行计划;以及
由所述查询优化器使得执行其他所选的执行计划。
11.一种方法,包括:
由数据库系统的查询优化器接收包括第一约束的第一查询,所述第一约束指定用于实现用于所述第一查询的执行计划的多个选项;
由所述查询优化器执行分析,所述分析评估与所述多个选项相对应的多个执行计划;
基于所述分析,由所述查询优化器选择所述多个执行计划之一来实现所述第一查询;以及
由所述查询优化器将所选择的执行计划提供给所述数据库系统的执行引擎,以执行所选择的执行计划。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于易享信息技术有限公司,未经易享信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980010670.2/1.html,转载请声明来源钻瓜专利网。