本篇文章给大家分享的是有关MySQL查询缓存涉及多少参数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
创新互联建站成都网站建设按需定制设计,是成都网站营销推广公司,为成都软装设计提供网站建设服务,有成熟的网站定制合作流程,提供网站定制设计服务:原型图制作、网站创意设计、前端HTML5制作、后台程序开发等。成都网站建设热线:13518219792查询缓存方面主要涉及两个参数,query_cache_size用于设置MySQL的查询缓存(query cache)大小,query_cache_type用于设置使用查询缓存的类型,
可以用以下命令查看具体使用情况:
mysql> show global status like 'qcache%';
+-------------------------+-----------+
| Variable_name | Value |
+-------------------------+-----------+
| Qcache_free_blocks | 1 |
| Qcache_free_memory | 195024544 |
| Qcache_hits | 0 |
| Qcache_inserts | 3 |
| Qcache_lowmem_prunes | 0 |
| Qcache_not_cached | 121 |
| Qcache_queries_in_cache | 1 |
| Qcache_total_blocks | 4 |
+-------------------------+-----------+
8 rows in set (0.00 sec)
相关参数解释如下:
Qcache_free_blocks:缓存中相邻内存块的个数。数目大说明可能有碎片。flush query cache会对缓存中的碎片进行整理,从而得到一个空闲块。
Qcache_free_memory:缓存中的空闲内存。
Qcache_hits:多少次命中,通过这个参数可以查看query cache的基本命中效果。
Qcache_inserts:每次插入一个查询时就增大,命中次数除以插入次数就是非命中率。
Qcache_lowmem_prunes:多少条query因为内存不足而被清理出query cache,通过Qcache_lowmem_prunes和Qcache_free_memory参数相互结合,能够
更清楚地了解到系统中query cache的内存大小是否真的足够,是否非常频繁的出现因为内存不足而有query被换出的情况。
Qcache_not_cached:不适合进行缓存的查询数量,通常是由于这些查询不是SELECT语句或用了now()之类的函数。
Qcache_queries_in_cache:当前缓存的查询和响应数量。
Qcache_total_blocks:缓存中块的数量。
关于query_cache的配置:
mysql> show variables like 'query_cache%';
+------------------------------+-----------+
| Variable_name | Value |
+------------------------------+-----------+
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 195035136 |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
+------------------------------+-----------+
5 rows in set (0.00 sec)
各个字段的解释如下:
query_cache_limit:超过此大小的查询将不再缓存。
query_cache_min_res_unit:缓存块的最小值。
query_cache_size:缓存大小值
query_cache_type:缓存类型,决定缓存什么样的查询。
query_cache_wlock_invalidate:表示当有其它客户端正在对MyISAM表进行写操作时,读请求是要等write lock释放资源后再查询还是允许直接
从query cache中读取结果,默认为FALSE
查询缓存碎片率=Qcache_free_blocks/Qcache_total_blocks * 100%
查询缓存利用率=(query_cache_size - Qcache_free_memory)/query_cache_size * 100%
查询缓存利用率在25%以下,说明query_cache_size设置的过大,可适当减小。
查询缓存命中率=(Qcache_hits - Qcache_inserts) / Qcache_hits * 100%
以上就是MySQL查询缓存涉及多少参数,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联-成都网站建设公司行业资讯频道。