[发明专利]嵌入式数据库查询的处理方法有效
申请号: | 02145957.6 | 申请日: | 2002-10-25 |
公开(公告)号: | CN1492361A | 公开(公告)日: | 2004-04-28 |
发明(设计)人: | 杨柏梁;丁刚;孙雅莎 | 申请(专利权)人: | 联想(北京)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 王丽琴 |
地址: | 100085北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及数据库管理系统领域,公开了一种嵌入式数据库查询的处理方法,该方法包括以下步骤:判断查询条件中是否含有合并操作逻辑运算符,如果没有,判断该查询为单表查询还是多表查询,如果是单表查询,则按优化规则生成查询计划树,如果是多表查询,则先把查询条件中的单表查询条件和连接查询条件分开,然后一连接操作队列,最后依次取出连接操作队列中的表,依次生成所取表的单表查询计划子树,把当前子树节点和上一子树节点形成一个连接操作节点,否则按最后处理合并操作的规则产生查询计划树。本发明不必对各个操作进行复杂的代价估算,节约了执行各个操作的时间,提高了嵌入式数据库的查询效率。 | ||
搜索关键词: | 嵌入式 数据库 查询 处理 方法 | ||
【主权项】:
1、一种嵌入式数据库查询的处理方法,其特征在于,该方法至少包括以下步骤:A)判断查询条件中是否含有合并操作逻辑运算符,如果没有,则判断该查询为单表查询还是多表查询,如果是单表查询,则判断被投影的各域是否出现在选择条件中,如果是,则先生成投影操作节点,再生成选择操作节点,然后执行步骤B,否则,先生成选择操作节点,再生成投影操作节点,然后执行步骤B,如果是多表查询,则先把查询条件中的单表查询条件和连接查询条件分开,然后将所有连接查询条件左右两端的表和连接信息建立一连接操作队列,最后依次取出连接操作队列中的表,依次生成所取表的单表查询计划子树,把当前子树节点和上一子树节点形成一个连接操作节点,以此循环直至连接操作队列为空,然后执行步骤B,如果查询条件中含有合并操作逻辑运算符,则由所述合并操作逻辑运算符分隔的各个条件表达式产生查询计划子树,然后在所述的查询子树中选出两个作为源数据生成合并操作节点,该合并操作节点再和下一个查询计划子树的根节点作为源数据生成合并操作节点,以此循环直至查询条件中合并操作均对应有一合并操作节点,将最后的合并操作节点作为查询计划树根节点,形成查询计划树,然后执行步骤C;B)判断是否需要排序,如果是,则判断是否需要消除重复记录,如果是则生成消除重复操作的树节点,将该树节点指向上一树节点,再将当前操作节点作为根节点,形成查询计划树,否则生成排序树节点,将该排序树节点指向上一树节点,再将当前操作节点作为根节点,形成查询计划树,如果不需要排序,则将当前操作节点作为根节点,形成查询计划树;C)后序遍历查询计划树,并且执行每一个树节点上的操作;D)释放所述查询计划数。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联想(北京)有限公司,未经联想(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/02145957.6/,转载请声明来源钻瓜专利网。