MySQL使用SQL_CACHE和SQL_NO_CACHE的最佳实践

时间:2011-12-25 23:40:38

标签: mysql caching

MySQL允许我们使用SQL_CACHESQL_NO_CACHE选项创建select语句。这些选项会影响查询缓存中查询结果的缓存。但对于哪些查询,最好使用SQL_CACHE选项,哪个SQL_NO_CACHE选项?或者也许最好不要使用它?

3 个答案:

答案 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

但是您应该注意,如果您的表经常更新,查询缓存结果将无效。