MySQL使用SQL_CACHE和SQL_NO_CACHE的最佳实践

Eug*_*lov 12 mysql caching

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

Mic*_*ior 13

通常,您根本不必使用它.SQL_CACHE仅在默认情况下未缓存查询时才需要它们,它们处于默认配置中.SQL_NO_CACHE如果您知道在不久的将来不会再次使用特定查询,则会很有用,尤其是在结果集很大的情况下.目标是避免使用不再需要的结果来混淆缓存.

  • 特别是关于SQL_NO_CACHE - 使用此方法,缓存结果不会为以后的重用创造好处.您应该这样做的原因是,如果您有许多缓存但从未使用过的查询,那么您将减慢mySQL的速度,因为它花费了越来越多的时间来无意中管理缓存.当人们设置非常大的query_cache大小时,这变得特别明显,因为刷新旧条目的时间随着大小而增长.这就是为什么有选项0,1,2来改变mySQL中query_cache的行为. (2认同)

小智 5

调试查询速度时,我使用SQL_NO_CACHE。