Loading... MySQL 拿到一个查询请求后,会先看看之前有没有执行过这条语句,如果执行过,则直接从查询缓存中取之前查询的结果即可,**但大多情况不建议使用 MySQL 的查询缓存,因为弊大于利**。 因为查询缓存的失效非常频繁,只要对一个表进行更新,那么这个表的所有查询缓存将会全部被清除,所以命中率并不会很好,除非你有一张静态的表,不会改变他的数据,或者很久才会更新一次。比如系统配置表,才适合使用这个查询缓存。 还有一个原因是因为,现在有 `Redis`, `MemoryCache` 等专门用来做缓存的应用,他们对缓存的处理会更优,而且 MySQL 服务器的资源通常都比较宝贵,所以不推荐使用 MySQL 的查询缓存。 查看查询缓存状态: ```sql show variables like '%query_cache_type%'; ``` 显式指定使用查询缓存: ```sql select SQL_CACHE * FROM user where ID = 10; ``` 最后修改:2022 年 05 月 02 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请我喝杯咖啡吧。