3

我知道使用 UNIX_TIMESTAMP() 会导致 MySQL 不缓存查询,这是合理的。但是,如果我使用 UNIX_TIMESTAMP() 来转换 DATETIME 列,它还会错过缓存吗?

4

1 回答 1

3

如果您将值或列作为参数传递给UNIX_TIMESTAMP().

如果您不知道,对表的任何更改都会导致缓存被清除,这也是值得知道的。因此,如果您查询的表经常更改,那么您可能不会从查询缓存中获得太多好处。

从 5.5手册

如果查询包含下表中显示的任何函数,则无法缓存该查询。
- 没有参数的 UNIX_TIMESTAMP()

于 2012-09-19T20:24:22.107 回答