位置:首页 > 软件操作教程 > 数据分析 > MySQL > 问题详情

MySQL—— 查询高速缓冲状态和维护

提问人:刘旭39发布时间:2020-10-12

可以使用下面的语句检查MySQL服务器是否提供查询缓存功能:

1. mysql> SHOW VARIABLES LIKE'have_query_cache'; 

2. +------------------+-------+ 

3. | Variable_name    | Value | 

4. +------------------+-------+ 

5. | have_query_cache | YES   | 

6. +------------------+-------+ 

FLUSH QUERY CACHE:语句来清理查询缓存碎片以提高内存使用性能。该语句不从缓存中移出任何查询。

RESET QUERY CACHE:语句从查询缓存中移出所有查询。FLUSH TABLES语句也执行同样的工作。

SHOW STATUS:为了监视查询缓存性能,使用SHOWSTATUS查看缓存状态变量,例如:

1. mysql> SHOW STATUS LIKE 'Qcache%'; 

2. +-------------------------+--------+ 

3. | Qcache_free_blocks      | 36    | 

4. | Qcache_free_memory      | 138488 | 

5. | Qcache_hits             | 79570  | 

6. | Qcache_inserts          | 27087  | 

7. | Qcache_lowmem_prunes    | 3114  | 

8. | Qcache_not_cached       | 22989 | 

9. | Qcache_queries_in_cache | 415    | 

10. | Qcache_total_blocks     | 912   | 

11. +-------------------------+--------+ 

QCACHE_free_blocks:空闲内存块的数量。

QCACHE_free_memory:空闲内存内存的数量。

QCACHE_hits:查询缓存被访问的次数。

QCACHE_inserts:加入到缓存的查询数量。

QCACHE_lowmem_prunes:由于内存较少从缓存删除的查询数量。

QCACHE_not_cached:非缓存查询数(不可缓存,或由于query_cache_type设定值未缓存)。

Qcache_queries_in_cache:登记到缓存内的查询的数量。

Qcache_total_blocks:查询缓存内的总块数。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部