[发明专利]一种数据库查询方法有效
| 申请号: | 201110030626.3 | 申请日: | 2011-01-28 |
| 公开(公告)号: | CN102622361A | 公开(公告)日: | 2012-08-01 |
| 发明(设计)人: | 陈繁荣 | 申请(专利权)人: | 天脉聚源(北京)传媒科技有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 100007 北京市东*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 数据库 查询 方法 | ||
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据库查询方法。
背景技术
MYSQL是目前应用最广泛的开源关系数据库,以高并发,高效率著称。MYSQL为不同应用业务提供不同的数据库引擎,主要的数据库引擎有Myisam,InnoDB。Myisam管理非事务表,它提供高速存储和检索,以及全文搜索能力。InnoDB给MYSQL提供了具有提交、回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。
目前MYSQL都是使用其内部的缓存系统。MYSQL在接收到查询语句时先对查询语句进行解析,然后根据解析完的数据去内存中查找是否有存在该查询语句的缓存,有的话则直接返回该缓存,没有的话,则再根据SQL语法去磁盘进行数据查询。
MYSQL的查询缓存是以每条查询语句为基本单位,以整个表的所有的查询缓存为管理单位。如果某一张数据表的任何一行数据发生变化,就会把整个数据表所涉及到的查询缓存全部清除。
在现实业务逻辑中,一条记录的更新,一般都只涉及到其中的几个查询缓存,而一个表的缓存大部分都是无关的,所以不应该被清除,导致相同的SQL要多次进行磁盘查询。
发明内容
本发明的目的在于提出一种数据库查询方法,能够极大地减少数据库的查询量,提供服务器性能,加快对用户的响应速度。
为达此目的,本发明采用以下技术方案:
一种数据库查询方法,适用于MYSQL数据库,包括以下步骤:
A、以查询语句进行第一次查询时,采用memcache的伪命名空间,将查询语句对应的第一结果数据定义为第一命名空间,第一命名空间的键值包括查询语句、第一版本值和原有的键,并存储在缓存中;
B、采用memcache的伪命名空间,将第一版本值定义为第二命名空间,第二命名空间的键值包括第一次版本值和查询语句,并存储在缓存中;
C、如果第一结果数据对应的记录更新后,将缓存中第一版本值改为第二版本值;
D、以所述查询语句进行第二次查询时,从缓存中获取查询语句对应版本值,采用memcache的伪命名空间,将查询语句定义为第三命名空间,第三命名空间的键值包括查询语句、查询语句对应版本值和原有的键;
E、判断第三命名空间的键值,如果第三命名空间的键值与第一命名空间的键值相同,则将缓存中的第一结果数据作为第二次查询的结果数据,如果第三命名空间的键值与第一命名空间的键值不同,则从数据库中查询结果数据。
步骤E中,如果第三命名空间的键值与第一命名空间的键值不同,将缓存中的第一命名空间清除。
步骤C中,缓存中第一版本值加一后改为第二版本值。
步骤E还包括以下步骤:
将从数据库中查询的结果数据采用memcache的伪命名空间定义为第四命名空间,第四命名空间的键值包括查询语句、第二版本值和原有的键,并存储在缓存中。
采用了本发明的技术方案,能够极大地减少数据库的查询量,提高服务器性能,加快对用户的响应速度,减少服务器数量,降低成本。
附图说明
图1是本发明具体实施方式中数据库查询的流程图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
本发明技术方案的主要思想是利用memcache的伪命名空间,把相关的查询语句定义为一个命名空间,每次相关的记录被更新时,只清除相对应的命名空间内的缓存,而同一数据表的其它命名空间的缓存则不会被清除,这样就减少了大量SQL的磁盘操作。
其中,memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。memcache的伪命名空间:memcache是key-value的内存hash服务器,只能根据单个key来取值和删除。
图1是本发明具体实施方式中数据库查询的流程图。如图1所示,该适用于MYSQL数据库的查询流程包括:
步骤101、以查询语句进行第一次查询时,采用memcache的伪命名空间,将查询语句对应的第一结果数据定义为第一命名空间,第一命名空间的键值包括查询语句、第一版本值和原有的键,并存储在缓存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天脉聚源(北京)传媒科技有限公司,未经天脉聚源(北京)传媒科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110030626.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:外围电路控制装置及其控制方法
- 下一篇:一种折页装置及折页方法





