当前位置:   article > 正文

MySql中查询缓存以及sql_cache、sql_buffer_result用法

sql_cache

MySql中查询缓存以及sql_cache、sql_buffer_result用法

1.sql_cache意思是说,查询的时候使用缓存。
2.sql_no_cache意思是查询的时候不适用缓存。
3.sql_buffer_result意思是说,在查询语句中,将查询结果缓存到临时表中。

这三者正好配套使用。sql_buffer_result将尽快释放表锁,这样其他sql就能够尽快执行。

使用 FLUSH QUERY CACHE 命令,你可以整理查询缓存,以更好的利用它的内存。这个命令不会从缓存中移除任何查询。FLUSH TABLES 会转储清除查询缓存。
RESET QUERY CACHE 使命从查询缓存中移除所有的查询结果。


例句(去除缓存):

SELECT sql_no_cache 字段1,字段2 FROM 表名
  • 1

那么mysql到底是怎么决定到底要不要把查询结果放到查询缓存中呢?

是根据query_cache_type这个变量来决定的。

这个变量有三个取值:0,1,2,分别代表了off、on、demand。

意思是说,如果是0,那么query cache 是关闭的。如果是1,那么查询总是先到查询缓存中查找,除非使用了sql_no_cache。如果是2,那么,只有使用 sql_cache的查询,才会去查询缓存中查找。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/193290
推荐阅读
相关标签
  

闽ICP备14008679号