以下的文章主要向大家描述的是MySQL 查询缓存的实际操作步骤以及对MySQL 查询缓存的二十几应用代码的描述,以下就是对查询缓存的的大小查看以及监视其相关性能这些相关内容的描述。
- MySQL> select @@query_cache_type;
- +--------------------+
- | @@query_cache_type |
- +--------------------+
- | ON |
- +--------------------+
- MySQL> set query_cache_type=off;
- MySQL> set query_cache_type=on;
- MySQL>
- MySQL> select sql_cache id, title, body from article;
- MySQL> select sql_no_cache id, title, body from article;
- MySQL> show variables like 'have_query_cache';
- +------------------+-------+
- | Variable_name | Value |
- +------------------+-------+
- | have_query_cache | YES |
- +------------------+-------+
- 1 row in set (0.00 sec)
查看MySQL 查询缓存的大小
- MySQL> select @@global.query_cache_size;
- +---------------------------+
- | @@global.query_cache_size |
- +---------------------------+
- | 16777216 |
- +---------------------------+
- 1 row in set (0.00 sec)
- MySQL> select @@query_cache_size;
- +--------------------+
- | @@query_cache_size |
- +--------------------+
- | 16777216 |
- +--------------------+
- 1 row in set (0.00 sec)
查看***缓存结果,如果结果集大于该数,不缓存。
- MySQL> select @@global.query_cache_limit;
- +----------------------------+
- | @@global.query_cache_limit |
- +----------------------------+
- | 1048576 |
- +----------------------------+
- 1 row in set (0.00 sec)
碎片整理
- MySQL> flush query cache
- -> ;
- Query OK, 0 rows affected (0.00 sec)
清除缓存
- MySQL> reset query cache
- -> ;
- Query OK, 0 rows affected (0.00 sec)
监视MySQL 查询缓存性能:
- MySQL> flush tables;
- Query OK, 0 rows affected (0.04 sec)
- MySQL> show status like 'qcache%';
- +-------------------------+----------+
- | Variable_name | Value |
- +-------------------------+----------+
- | Qcache_free_blocks | 1 |
- | Qcache_free_memory | 16768408 |
- | Qcache_hits | 6 |
- | Qcache_inserts | 36 |
- | Qcache_lowmem_prunes | 0 |
- | Qcache_not_cached | 86 |
- | Qcache_queries_in_cache | 0 |
- | Qcache_total_blocks | 1 |
- +-------------------------+----------+
- 8 rows in set (0.06 sec)
看看当前缓存中有多少条信息:
- MySQL> show status like 'qcache_q%';
- +-------------------------+-------+
- | Variable_name | Value |
- +-------------------------+-------+
- | Qcache_queries_in_cache | 0 |
- +-------------------------+-------+
- 1 row in set (0.00 sec)
- MySQL> select sql_cache id, title, body from article;
- MySQL> show status like 'qcache_q%';
- +-------------------------+-------+
- | Variable_name | Value |
- +-------------------------+-------+
- | Qcache_queries_in_cache | 1 |
- +-------------------------+-------+
- 1 row in set (0.00 sec)
- MySQL> show status like 'qcache_f%';
- +--------------------+----------+
- | Variable_name | Value |
- +--------------------+----------+
- | Qcache_free_blocks | 1 |
- | Qcache_free_memory | 16766728 |
- +--------------------+----------+
- 2 rows in set (0.00 sec)
以上的相关内容就是对MySQL 查询缓存的介绍,望你能有所收获。
【编辑推荐】