带有参数的UNIX_TIMESTAMP()是否会查询缓存?

时间:2012-09-19 20:18:43

标签: mysql database

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

1 个答案:

答案 0 :(得分:3)

如果将值或列作为参数传递给UNIX_TIMESTAMP(),它仍会被缓存。

如果您不知道,还需要知道,对表的任何更改都会导致缓存被清除。因此,如果您要查询的表经常更改,那么查询缓存可能没有太多好处。

从5.5 manual

  
    

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