首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"SQL_NO_CACHE“指令是否阻止查询使用缓存,或者仅仅添加到缓存中?

问"SQL_NO_CACHE“指令是否阻止查询使用缓存,或者仅仅添加到缓存中?
EN

Stack Overflow用户
提问于 2012-09-25 04:38:39
回答 1查看 686关注 0票数 1

手册指出,"SQL_NO_CACHE“阻止将添加到缓存中。但它没有提到任何关于使用缓存,我可以看到。

我正在尝试对两个版本的查询进行基准测试,但它们已经在没有"SQL_NO_CACHE“的情况下运行了。所以我不知道我的测试是否使用了查询缓存。

"SQL_NO_CACHE“指令是否阻止查询使用缓存,或者仅仅添加到缓存中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-25 05:33:23

MySQL查询缓存是基于查询的完整文本建立索引的,因此在功能上没有区别:即使忽略了指令,带有SQL_NO_CACHE的查询的结果也将存储在与没有SQL_NO_CACHE的查询不同的缓存“槽”中。(实际上,简单地向查询添加一个空间,或者将"SELECT“更改为"select”--例如-也会“关闭”查询缓存,使其再次运行。MySQL查询缓存并不特别复杂。)

尽管如此,通过使用SQL_NO_CACHE运行查询并查看QCACHE_QUERIES_IN_CACHE状态的快速测试证实,SQL_NO_CACHE确实阻止变量存储在缓存中,而查看来源使之看起来似乎SQL_NO_CACHE的存在也将阻止MySQL检查缓存的结果。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12576288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档