0
点赞
收藏
分享

微信扫一扫

MySQL - 32查询缓存


什么是查询缓存

很多数据库产品都能够缓存查询的执行计划,对于相同类型的SQL就可以跳过SQL解析和执行计划分成阶段。MySQL在某种场景下也可以实现,但是MySQL还有另一种不同的缓存类型:缓存完成 的SELECT查询结果,也就是查询缓存。

MySQL将缓存存放在一个引用表中,类似于HashMap的数据结构,Key查询SQL语句,Value则是查询结果。当发起查询时,会使用SQL语句去缓存中查询,如果命中则立即返回缓存的结果集。

  1. 可以使用 SQL_NO_CACHE 在 SELECT 中禁止缓存查询结果,例如:SELECT SQL_NO_CACHE …
  2. MySQL 8.0已删除查询缓存功能

mysql> show variables like '%query_cache%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| have_query_cache | NO |
+------------------+-------+
1 row in set (0.01 sec)

mysql>


举报

相关推荐

0 条评论