[发明专利]去除SQL查询语句恒条件的方法有效
申请号: | 200710100359.6 | 申请日: | 2007-06-08 |
公开(公告)号: | CN101075255A | 公开(公告)日: | 2007-11-21 |
发明(设计)人: | 郭毅 | 申请(专利权)人: | 北京神舟航天软件技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京北新智诚知识产权代理有限公司 | 代理人: | 张卫华 |
地址: | 100036北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明是一种去除SQL查询语句恒条件的方法,包括创建链表、合并链表和改写查询语句三个步骤。它将CHECK约束和WHERE条件都转换成查询树的子树,叶节点是表达式节点,其他的节点是AND或者OR节点,对这两个子树进行后序遍历,遇到表达式节点则生成一个列属性链表,遇到AND或者OR节点则合并该节点的子树的列属性链表,在合并链表的过程中,若发现恒真或恒假条件,则将条件节点改写为TRUE或FALSE常量节点,若最后该子树的根节点被改写为TRUE,则WHERE条件可以去掉;若根节点被改写为FALSE,则该SQL查询可以直接改写为空查询。由于本发明在语义级别上有效地消去了SQL查询语句的恒条件,因而避免了无关紧要的查询处理,显著降低了数据库系统执行器对恒真恒假查询条件的处理开销。 | ||
搜索关键词: | 去除 sql 查询 语句 条件 方法 | ||
【主权项】:
1、一种去除SQL查询语句恒条件的方法,其特征在于它包括步骤:创建链表步骤:首先将CHECK约束和WHERE条件都转换成查询树的子树,其中,叶节点是CHECK约束和WHERE条件中的表达式节点,其他的节点是AND或者OR节点,然后对CHECK约束子树和WHERE条件子树进行后序遍历,遇到表达式节点则生成一个列属性链表;合并链表步骤:在进行后序遍历过程中,遇到AND或者OR节点则合并该节点的子树的列属性链表;改写查询语句步骤:在合并链表的过程中,若发现恒真或恒假条件,则将条件节点改写为TRUE或FALSE常量节点,若最后该子树的根节点被改写为TRUE,则去掉WHERE条件;若根节点被改写为FALSE,则将该SQL查询直接改写为空查询。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京神舟航天软件技术有限公司,未经北京神舟航天软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200710100359.6/,转载请声明来源钻瓜专利网。