首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >四十、查询缓存

四十、查询缓存

作者头像
喵叔
发布2021-07-07 17:56:55
发布2021-07-07 17:56:55
7980
举报
文章被收录于专栏:喵叔's 专栏喵叔's 专栏
一、什么是查询缓存

很多数据库产品都能缓存查询的执行计划,对于相同类型的 SQL 就可以跳过 SQL 解析和执行计划生成阶段。 MySQL 在某种场景下也可以实现,但是 MySQL 还有另一中不同的缓存类型:缓存完成的 SELECT 查询结果,也就是查询缓存。 MySQL 将缓存存放在一个引用表中,类似 HashMap 的数据结构, Key 查询 SQL 语句, Value 则是查询结果。当发起查询时,会使用 SQL 语句去缓存中查询,如果命中则立即返回缓存的结果集。

Tip:

  1. 通过 show variables like '%query_cache%';语句获取是否开启了查询缓存,在 MySQL 中默认查询缓存是开启的;
  2. 可以使用 SQL_NO_CACHE 在 SELECT 中禁止缓存查询结果,语法为 SELECT SQL_NO_CACHE...;
  3. MySQL 8.0 中已删除查询缓存功能。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/07/02 ,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 一、什么是查询缓存
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档