0
点赞
收藏
分享

微信扫一扫

MySQL 的查询缓存 query_cache_type


MySQL 的查询缓存(Query Cache)是一个可以加速SELECT查询的功能,它会将SELECT查询的结果缓存起来,当相同的查询再次执行时,如果结果没有改变,则直接从缓存中读取数据,从而提高查询效率。不过需要注意的是,从 MySQL 8.0 开始,官方已经移除了查询缓存功能,因为对于高并发写入的应用场景来说,查询缓存可能会导致性能下降。

如果你使用的是 MySQL 5.7 或更早版本,并且想要开启查询缓存,可以按照以下步骤操作:

  1. 修改配置文件
    找到 MySQL 配置文件 my.cnfmy.ini(根据你的操作系统和安装方式,位置可能不同),然后在 [mysqld] 段下添加或修改如下参数:

[mysqld]
query_cache_type = 1  # 0=OFF, 1=ON, 2=DEMAND (默认为 OFF)
query_cache_size = 16M  # 设置查询缓存大小,例如 16MB
query_cache_limit = 2M  # 缓存单个查询的最大结果集大小

  • query_cache_type 控制查询缓存的行为。设置为 1 表示自动开启查询缓存,2 表示只有带有 SQL_NO_CACHE 提示的查询才不会被缓存。
  • query_cache_size 定义了用于存储查询结果的内存大小。
  • query_cache_limit 是一个限制,定义了超过这个大小的查询结果不会被缓存。
  1. 重启 MySQL 服务
    修改完配置文件后,需要重启 MySQL 服务使更改生效。这通常可以通过命令行来完成,如使用 service mysql restart 或者 /etc/init.d/mysql restart 等命令,具体取决于你的操作系统和服务管理器。
  2. 验证查询缓存是否开启
    可以通过登录到 MySQL 命令行客户端并运行下面的命令来检查查询缓存的状态:

SHOW VARIABLES LIKE 'have_query_cache';
SHOW VARIABLES LIKE 'query_cache%';

如果 have_query_cache 返回 YES,则说明支持查询缓存;而其他变量则显示当前的配置状态。


举报

相关推荐

0 条评论