[发明专利]一种基于逻辑优化的数据库查询优化方法无效
申请号: | 201310365120.7 | 申请日: | 2013-08-21 |
公开(公告)号: | CN103455573A | 公开(公告)日: | 2013-12-18 |
发明(设计)人: | 范高生 | 申请(专利权)人: | 成都云鹰科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 逻辑 优化 数据库 查询 方法 | ||
技术领域
本发明涉及关系型数据库查询优化领域,本发明公开了一种基于逻辑优化算法的数据快速查询方法。
背景技术
目前主流数据库优化查询方式基本上都是基于某种具体的RDBMS系统进行的,并且都是某种程度上运用了某种具体的关系数据库的特性进行优化。这种现状导致对通用的RDBMS系统缺乏统一和高效的优化查询方法和理论支持。在局部应用和小规模应用,问题还不突出。一但涉及到用户分布式应用,甚至迁移和移植数据库,原有的优化策略将完全失效。
发明内容
针对上述问题,本发明公开了一种基于逻辑优化算法的数据快速查询方法,包括简化条件集,从而达到快速查询效果。
本发明采用如下技术方案:一种基于逻辑优化的数据库查询优化方法,包括简化条件集,条件集的简化包括如下步骤:
一、把不含任何“与”“或”运算符的逻辑表达式称为原子条件,只含有原子条件和“与”运算符的逻辑表达式称为条件项,定义条件集G={g1,g2,g3…gn}称gi为条件项(i=1,2,3…n),以“,”表示析取符号∨,其中gi由原子条件tij(j=1,2,3,mi)组成;
二、 查询条件的文法定义如下:
条件集G:<g>|<gi>or <gj>
条件项g:<ti1>and<tik>
原子条件t:ti1,ti2,ti3…tim;
三、查询语句的算法如下:
a.初始化:将各条件项g中的原子条件进行比较,若各条件项的原子条件中有相互包含关系,则将外延小的t舍去;初始量m=1(1<m<p,p为条件项数);
b.若m=p,转到(e),否则取G的一个条件项gm ;
c.若项gm是一个原子条件tm1,则:
将tm1与各条件项gi(i>m)的tij比较,若存在gk,其中包含tkj与tm1相同,则将这部分gk与gm构成G的一个子集G*,剩余元素构成子集C*,将G*的公共项提取出来,得到新的集合记作G**;
转至(b),递归调用本算法处理G**;
d.若项gm为两个或者两个以上的原子条件tmj和tmk(k≠j)的and运算,则:
取第一个原子条件tmj,做(c)的处理,若G**为非空集合,转至(b),递归调用本算法处理G**;
若G**为空集合,取下一个原子条件,做(c)处理,直到G**非空;
e.重复上述b至d步骤,取遍G的全部条件项,所得新的G**与提取的序列极为简化条件集。
本发明有益效果是:采用本发明适用于用户的分布式应用,且能实现快速查询。
附图说明
图1为本发明流程图。
具体实施方式
下面结合流程图对本发明做更详细说明。
首先,任何“与”“或”运算符的逻辑表达式称为原子条件,只含有原子条件和“与”运算符的逻辑表达式称为条件项,定义条件集G={g1,g2,g3…gn}称gi为条件项(i=1,2,3…n),以“,”表示析取符号∨,其中gi由原子条件tij(j=1,2,3,mi)组成;
其次,查询条件的文法定义如下:
条件集G:<g>|<gi>or <gj>
条件项g:<ti1>and<tik>
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都云鹰科技有限公司,未经成都云鹰科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310365120.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:适用于套管驱动头的扶正密封机构
- 下一篇:一种精梳机过棉喇叭管