如果我在where子句中使用mysql函数返回一个静态值,它会在每一行重新计算吗?

时间:2010-03-16 18:43:38

标签: sql mysql

例如,

从x中选择*,其中crc = CRC32('Hi')

CRC32函数是否会运行它检查的每一行?如果是这样我怎么能优化呢?

1 个答案:

答案 0 :(得分:1)

如果你没有将行值作为参数传递,它将被评估一次。

除了这种情况:

SELECT column FROM table
ORDER BY RAND()
LIMIT 1

选择随机行