[发明专利]半连接合并方法和半连接合并装置有效
申请号: | 201611131301.3 | 申请日: | 2016-12-09 |
公开(公告)号: | CN106777054B | 公开(公告)日: | 2020-03-27 |
发明(设计)人: | 余鹏 | 申请(专利权)人: | 北京华胜信泰数据技术有限公司;华胜信泰信息产业发展有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2453 |
代理公司: | 北京友联知识产权代理事务所(普通合伙) 11343 | 代理人: | 尚志峰;汪海屏 |
地址: | 100192 北京市海淀区学*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 连接 合并 方法 装置 | ||
本发明提出了一种半连接合并方法和半连接合并装置,其中,所述半连接合并方法包括:在SQL语法分析树中查询匹配子查询的半连接;若匹配子查询的半连接的语句和子查询的语句均是第一类型语句和第二类型语句的其中一种语句,则根据该种语句确定待合并的第一谓词表达式;判断该种语句转化成的半连接和匹配子查询的半连接的类型是否相同;若相同,则将第一谓词表达式与匹配子查询的半连接中的过滤条件进行合并;若不相同,则对第一谓词表达式进行取反,并将取反后的第一谓词表达式与匹配子查询的半连接中的过滤条件进行合并。通过本发明的技术方案,可以缩小搜索空间和减少访问物理表的次数和减少重复的谓词表达式的计算。
技术领域
本发明涉及数据库技术领域,具体而言,涉及一种半连接合并方法和一种半连接合并装置。
背景技术
在数据库处理SQL(Structured Query Language,结构化查询语言)语句的过程主要分为三个阶段:一、语法分析阶段,在这个阶段,数据库(数据仓库)将来自客户端的SQL语句,借助语法解析工具转换成数据库(数据仓库)可以识别的数据结构,即转换成语法分析树;二、查询优化阶段,在这个阶段,数据库(数据仓库)在词法语法分析树上施加各种优化的方法(也就是数据库中常见的查询改写),然后为参与连接的表计算出一条最优的访问路径,最终生成一个结构来表示最优的查询计划;三、执行查询计划阶段,执行最优的查询计划,最终获得结果。
其中,在查询优化阶段,会对语法分析树进行各种优化。在这些优化策略中,有一项就是将IN语句或是EXIST语句改写成半连接语句并上拉。这样做的好处在于:将IN语句或EXIST语句改写成半连接之后,可以提供更多机会来发现代价更小的访问路径,最终获得更优的查询计划。
目前的数据库(数据仓库)中提供的针对IN语句或EXIST语句的半连接优化,一个主要的问题是没有考虑到将半连接进行合并。在某些情况下,复杂的SQL语句中,是存在多个半连接合并的可能性的。而现在有的数据库(数据仓库)中,没有对半连接进行合并,这就会带来如下两点的缺陷:
(1)在查询优化阶段,搜索访问路径时,一般采用了动态规划算法,该动态规划算法的复杂度与参与连接的表的数量成指数级关系,因此多一个表,就会增大若干倍的搜索空间,从而相应地增大搜索代价。
(2)执行查询计划阶段,会增加访问物理表的次数以及增大重复的谓词表达式的计算,最终增大了磁盘的IO压力和CPU资源的消耗。
因此,如何实现对半连接进行合并,以在查询优化阶段缩小搜索空间和在执行查询计划阶段减少访问物理表的次数和减少重复的谓词表达式的计算成为亟待解决的技术问题。
发明内容
为此,本发明的一个目的在于提出了一种半连接合并方法。
本发明的另一个目的在于提出了一种半连接合并装置。
为实现上述至少一个目的,根据本发明的第一方面的实施例,提出了一种半连接合并方法,包括:在SQL语法分析树中查询匹配子查询的半连接;若匹配所述子查询的半连接的语句和所述子查询的语句均是第一类型语句和第二类型语句的其中一种语句,则根据所述该种语句确定待合并的第一谓词表达式;判断该种语句转化成的半连接和匹配所述子查询的半连接的类型是否相同;若相同,则将所述第一谓词表达式与匹配所述子查询的半连接中的过滤条件进行合并;以及若不相同,则对所述第一谓词表达式进行取反,并将取反后的第一谓词表达式与匹配所述子查询的半连接中的过滤条件进行合并。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京华胜信泰数据技术有限公司;华胜信泰信息产业发展有限公司,未经北京华胜信泰数据技术有限公司;华胜信泰信息产业发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611131301.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:媒体内容的分类方法和装置
- 下一篇:一种实现网站接口化渲染的方法与装置