发明名称 嵌入式数据库查询的处理方法
摘要 本发明涉及数据库管理系统领域,公开了一种嵌入式数据库查询的处理方法,该方法包括以下步骤:判断查询条件中是否含有合并操作逻辑运算符,如果没有,判断该查询为单表查询还是多表查询,如果是单表查询,则按优化规则生成查询计划树,如果是多表查询,则先把查询条件中的单表查询条件和连接查询条件分开,然后一连接操作队列,最后依次取出连接操作队列中的表,依次生成所取表的单表查询计划子树,把当前子树节点和上一子树节点形成一个连接操作节点,否则按最后处理合并操作的规则产生查询计划树。本发明不必对各个操作进行复杂的代价估算,节约了执行各个操作的时间,提高了嵌入式数据库的查询效率。
申请公布号 CN1492361A 申请公布日期 2004.04.28
申请号 CN02145957.6 申请日期 2002.10.25
申请人 联想(北京)有限公司 发明人 杨柏梁;丁刚;孙雅莎
分类号 G06F17/30 主分类号 G06F17/30
代理机构 北京德琦知识产权代理有限公司 代理人 王丽琴
主权项 1、一种嵌入式数据库查询的处理方法,其特征在于,该方法至少包括以下步骤:A)判断查询条件中是否含有合并操作逻辑运算符,如果没有,则判断该查询为单表查询还是多表查询,如果是单表查询,则判断被投影的各域是否出现在选择条件中,如果是,则先生成投影操作节点,再生成选择操作节点,然后执行步骤B,否则,先生成选择操作节点,再生成投影操作节点,然后执行步骤B,如果是多表查询,则先把查询条件中的单表查询条件和连接查询条件分开,然后将所有连接查询条件左右两端的表和连接信息建立一连接操作队列,最后依次取出连接操作队列中的表,依次生成所取表的单表查询计划子树,把当前子树节点和上一子树节点形成一个连接操作节点,以此循环直至连接操作队列为空,然后执行步骤B,如果查询条件中含有合并操作逻辑运算符,则由所述合并操作逻辑运算符分隔的各个条件表达式产生查询计划子树,然后在所述的查询子树中选出两个作为源数据生成合并操作节点,该合并操作节点再和下一个查询计划子树的根节点作为源数据生成合并操作节点,以此循环直至查询条件中合并操作均对应有一合并操作节点,将最后的合并操作节点作为查询计划树根节点,形成查询计划树,然后执行步骤C;B)判断是否需要排序,如果是,则判断是否需要消除重复记录,如果是则生成消除重复操作的树节点,将该树节点指向上一树节点,再将当前操作节点作为根节点,形成查询计划树,否则生成排序树节点,将该排序树节点指向上一树节点,再将当前操作节点作为根节点,形成查询计划树,如果不需要排序,则将当前操作节点作为根节点,形成查询计划树;C)后序遍历查询计划树,并且执行每一个树节点上的操作;D)释放所述查询计划数。
地址 100085北京市海淀区上地信息产业基地创业路6号