[发明专利]查询优化方法及查询编译器有效
申请号: | 201310349740.1 | 申请日: | 2013-08-12 |
公开(公告)号: | CN103729392B | 公开(公告)日: | 2017-03-01 |
发明(设计)人: | 姜奉材;朴相永;李硕原;崔永宰 | 申请(专利权)人: | 株式会社特迈数据 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 隆天知识产权代理有限公司72003 | 代理人: | 朴海今,向勇 |
地址: | 韩国京畿*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 查询 优化 方法 编译器 | ||
技术领域
本发明涉及一种查询优化方法及查询编译器,具体地,涉及数据库管理系统的查询编译器,尤其涉及一种实现查询的优化的查询编译器及其方法。
本发明是从作为韩国知识经济部的产业融合源泉技术开发事业的一环而执行的研究中得出的(10040824,实时处理大容量传感器流数据的开放式传感器DBMS开发)。
背景技术
一般,数据库中存储着互相关联的数据,而且存储于数据库中的数据需要以最新的数据进行更新、插入、删除。为此,数据库由软件系统DBMS(Data Base Management System:数据库管理系统)所管理。DBMS是一种检索或变更应用程序所需的数据从而能够始终向应用程序提供具有一致性的结果的综合型数据管理系统。
要取得存储于数据库中的数据需要使用结构化查询语言(SQL:Structrer Query Language)这种查询语言来生成查询。在数据库中,将SQL查询转换成可在数据库执行的查询执行计划(query execution plan)的作业是在查询编译器中执行的。查询执行计划由以查询执行中所必须的多个执行单位(operation)为节点的树构成。
实际上,在查询编译器中将SQL查询转换成查询执行计划的作业以下述方式执行。
首先,分析查询而生成分析树的结构。然后,在重写查询的过程中分析树被变形为含义相同但更普通的形态。之后,利用统计信息以费用最少的执行计划来执行变形的树。
一般,分析用户输入的查询后直接执行也会得到正确的结果。通过查询的重写将分析树转换成更普通的形态是为了制作更多的执行计划,由此能够提高得到优化的执行计划的可能性。
另外,查询的重写还用于除去虽包含于查询但不必进行运算的部分来对查询进行优化,从而提高查询编译器的性能。
因此,优选对查询进行优化从而能够在查询编译器建立优化的执行计划。
发明内容
因此,本发明的目的在于,提供一种对查询进行优化的查询编译器及其方法。
为达到上述目的,根据本发明的实施例,提供一种查询优化的方法以及用于实现所述方法的查询编译器。
根据本发明实施例的实现查询优化的方法包括如下步骤:检索SQL查询内的子查询;从检索到的所述子查询中识别标量子查询;分析所识别的所述标量子查询来识别关联标量子查询;根据所识别的所述关联标量子查询的结果形式,将具有所识别的所述关联标量子查询的查询反嵌套为准连接(quasi-join)。
在上述实施例中,从检索到的所述子查询中识别标量子查询的步骤包括如下步骤:在检索到的所述子查询中,将包含于where语句且与比较运算符一起生成的子查询识别为所述标量子查询。
在上述实施例中,从检索到的所述子查询中识别标量子查询的步骤包括如下步骤:在检索到的所述子查询中,将包含于select语句中的子查询识别为所述关联标量子查询。
在上述实施例中,分析所识别的所述标量子查询来识别关联标量子查询的步骤包括如下步骤:在所述标量子查询中,将使用包含于所述查询的表的列的标量子查询识别为所述关联标量子查询。
在上述实施例中,所述准连接包括aggregation inner/outer join和max1row inner/outer join;就所述aggregation inner/outer join而言,对与所述查询的行连接的所述关联标量子查询的多个行进行聚合,并返回所述查询的行和聚合值来作为结果,就所述max1row inner/outer join而言,当与所述查询的行连接的子查询的行为两个以上时,产生出错信息,并返回与所述查询的行连接的子查询的行来作为结果。
在上述实施例中,将具有所识别的所述关联标量子查询的查询反嵌套为准连接的步骤包括如下步骤:在所识别的所述关联标量子查询为返回聚合结果的形态时,将具有所识别的所述关联标量子查询的查询反嵌套为aggregation inner/outer join。
在上述实施例中,将具有所识别的所述关联标量子查询的查询反嵌套为准连接的步骤包括如下步骤:在所识别的所述关联标量子查询为返回一个列的形态时,将具有所识别的所述关联标量子查询的查询反嵌套为max1row inner/outer join。
在上述实施例中,所述准连接对与left row连接的多个row条件性地以event形式进行处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于株式会社特迈数据,未经株式会社特迈数据许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310349740.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:限制架式二次推出装置
- 下一篇:汽车塑件模具二次强行顶出脱模机构