码迷,mamicode.com
首页 > 数据库 > 详细

mysql 缓存

时间:2018-08-25 14:13:56      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:表示   run   文件   memory   清理缓存   its   value   查询   invalid   

配置文件设置缓存

 my.ini 或 my.cy 找到 [mysqld]

query_cache_size = 20M  #缓存大小
query_cache_type = ON  #开启缓存
table_cache=256    #用于限制缓存表的最大数目,如果当前已经缓存的表未达到table_cache,则会将新表添加进来;若已经达到此值,MySQL将根据缓存表的最后查询时间、查询率等规则释放之前的缓存

 

参数调优

mysql> show global status like open%_tables;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Open_tables   | 0     |  #当前正在打开表的数量
| Opened_tables | 35    |  #所有已经打开表的数量,建议table_cache 比Opened_tables的数值大一些
+---------------+-------+

 

查询缓存相关配置参数

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             | ON      | #关闭或是开启缓存
| query_cache_wlock_invalidate | OFF     |  #该参数用于设置行级排它锁与查询缓存之间的关系,默认为为0(OFF),表示施加行级排它所的同时,该表的所有查询缓存依然有效。如果设置为1(ON),表示事假行级排它锁的同时,该表的所有查询缓存失效。
+------------------------------+---------+

 

查询缓存使用情况

mysql> show status like Qcache%;
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| Qcache_free_blocks      | 0     | #缓冲区碎片数量
| Qcache_free_memory      | 0     | #表示当前MySQL服务实例的查询缓存还有多少可用内存
| Qcache_hits             | 0     | #使用查询缓存的次数
| Qcache_inserts          | 0     | #表示查询缓存中此前总共缓存过多少条select 语句的结果集。
| Qcache_lowmem_prunes    | 0     | #值非常大,则表明经常出现缓冲不够的情况
| Qcache_not_cached       | 0     |  #表示没有进入查询缓存的select个数
| Qcache_queries_in_cache | 0     |  #缓存中缓存这多少条select语句的结果集
| Qcache_total_blocks     | 0     |  #查询缓存的总个数
+-------------------------+-------+

 

清理缓存碎片 

mysql> flush query cache;
Query OK, 0 rows affected (0.00 sec)
mysql> flush tables;   #清空当前所有缓存的表
Query OK, 0 rows affected (0.00 sec)

mysql> reset query cache; #清理内存中的碎片
Query OK, 0 rows affected (0.00 sec)

 

mysql 缓存

标签:表示   run   文件   memory   清理缓存   its   value   查询   invalid   

原文地址:https://www.cnblogs.com/xuey/p/9533409.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!