为什么用引号括起一个字段比没有引号花费更长的时间?

Why does enclosing a field in quotes take longer than without it?

例如,我有这个查询:

SELECT * FROM a WHERE field IN (-1, "1")

上述查询的执行时间比这个查询长 20 倍。为什么?

SELECT * FROM a WHERE field IN (-1, 1)

此外,在第一种情况下 index 没有被使用,即使 USE INDEX.

很可能是因为 MySQL 将 field 转换为 CHAR,而不是将 "1" 转换为 INT。

查看运行时间:

SELECT * FROM a WHERE field IN (-1, CAST("1" AS INT));