Mysql中使用的查询缓存

MySQL 的查询缓存(MySQL Query Cache)是在4.1 版本以后新增的功能,它的作用是存
储SELECT 查询的文本以及相应结果。如果随后收到一个相同的查询,服务器会从查询缓存
中重新得到查询结果,而不再需要解析和执行查询。
查询缓存的适用对象是更新不频繁的表,当表更改(包括表结构和表数据)后,查询缓
存值的相关条目被清空。
查询缓存相关的参数主要有以下几个:


mysql> show variables like '%query_cache%';
+------------------------------+---------+
| Variable_name | Value |
+------------------------------+---------+
| have_query_cache | YES |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 0 |
| query_cache_type | OFF |
| query_cache_wlock_invalidate | OFF |
+------------------------------+---------+
6 rows in set (0.00 sec)
对于以上几个参数,具体解释如下。
 have_query_cache 表明服务器在安装是否已经配置了高速缓存
 query_cache_size 表明缓存区大小,单位为M。
 query_cache_type 的变量值从0 到2,含义分别为:
0 或者off(缓存关闭)
1 或者on(缓存打开,使用SQL_NO_CACHE 提示的SELECT 除外)
2 或者demand(只有带SQL_CACHE 的SELECT 语句提供高速缓存)
通过SHOW STATUS 命令,可以监视查询缓存的使用状况,如下表所示。
表中 MySQL 查询缓存的性能监控参数


变量                                     含义
Qcache_queries_in_cache 在缓存中已注册的查询数目
Qcache_inserts                  被加入到缓存中的查询数目
Qcache_hits                       缓存采样数数目
Qcache_lowmem_prunes  因为缺少内存而被从缓存中删除的查询数目
Qcache_not_cached          没有被缓存的查询数目(不能被缓存的,或由于QUERY_CACHE_TYPE)
Qcache_free_memory        查询缓存的空闲内存总数
Qcache_free_blocks           查询缓存中的空闲内存块的数目
Qcache_total_blocks          查询缓存中的块的总数目 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值