MySQL允许我们使用SQL_CACHE
和SQL_NO_CACHE
选项创建select语句。这些选项会影响查询缓存中查询结果的缓存。但对于哪些查询,最好使用SQL_CACHE
选项,哪个SQL_NO_CACHE
选项?或者也许最好不要使用它?
答案 0 :(得分:13)
通常,您根本不必使用此功能。 SQL_CACHE
仅在默认情况下未缓存查询时才是必需的,它们处于默认配置中。如果您知道在不久的将来不会再次使用特定查询,则SQL_NO_CACHE
非常有用,尤其是在结果集很大的情况下。目标是避免使用不再需要的结果来混淆缓存。
答案 1 :(得分:5)
我在调试查询速度时使用SQL_NO_CACHE。
答案 2 :(得分:0)
首先,您需要更新my.cnf(LINUX)或my.ini(WINDOWS)文件。
<强> query_cache_type的= 2 强>
如果值为2,那么它是按需的,这意味着您可以选择在要缓存的查询结果上使用 SQL_CACHE 。
如果为0,则不激活查询缓存。
如果为1,则所有查询都缓存在数据库中。 如果您不想缓存某些特定查询,可以使用 SQL_NO_CACHE 。
但是您应该注意,如果您的表经常更新,查询缓存结果将无效。