现在的位置: 首页 > 综合 > 正文

开启 MySQL query cache,加快数据库读取速度

2013年05月30日 ⁄ 综合 ⁄ 共 938字 ⁄ 字号 评论关闭
 

在网站建设或者运营中,如果 MySQL server 是非常繁忙,可以开启 query cache 以加速回应时间,开启方法可以在 my.cnf 裡面加入以下项目: (Redhat 下面是 /etc/my.cnf;Debian 是在 etc/mysql

/my.cnf).

query_cache_size = 64M
query_cache_type = 1
query_cache_limit = 1048576

以上语法的设定里面,query_cache_size 是分配 256MB 记忆体空间给 query
cache;query_cache_type 设定成 1,是给所有的查询做 cache;query_cache_limit
是指定个别的查询语句 1KB 的记忆体空间。

这些数值可根据自己的需要作出更改,设定及存档后,重新启动 MySQL 即可。

Query Cache 在提高数据库性能方面具有非常重要的作用。

其设定也非常简单,仅需要在配置文件写入两行: query_cache_type 和 query_cache _size,而且 MySQL 的 query cache 非常快!而且一旦命中,就直接发送给客户端,节约大量的 CPU 时间。

当然,非 SELECT 语句对缓冲是有影响的,它们可能使缓冲中的数据过期。一个 UPDATE
语句引起的部分表修改,将导致对该表所有的缓冲数据失效,这是 MySQL 为了平衡性能而没有采取的措施。因为,如果每次 UPDATE
需要检查修改的数据,然后撤出部分缓冲将导致代码的复杂度增加。

query_cache_type 0 代表不使用缓冲, 1 代表使用缓冲,2 代表根据需要使用。
其实MySQL中有内存表了, 完全可以不用这个功能. 对于Query Cache, MySQL提供了query_cache_type变量来控制发送到数据库的SQL是否进行Cache, 有三个值:

0, 对SQL语句不进行Cache.
1, 对于有SQL_NO_CACHE提示的SQL不进行Cache.
2, 仅对于有SQL_CACHE进示的SQL进行Cache.

 

转自:开启 MySQL query cache,加快数据库读取速度

 

还有一篇资料可以辅助学习 http://hi.baidu.com/xytel/blog/item/d74d4c1204e4d959f919b827.html

抱歉!评论已关闭.