MySQL,Short WHERE查询

bor*_*ris 0 mysql

这是我的示例查询.

SELECT * FROM `table` WHERE `id` = '1' OR `id` = '8' OR `id` = '12'
Run Code Online (Sandbox Code Playgroud)

WHERE部分有更快的方法吗?

Mik*_*scu 5

您可以使用IN子句:

SELECT * 
  FROM `table` 
 WHERE `id` IN ('1', '8','12')
Run Code Online (Sandbox Code Playgroud)

由于查询优化器会将此查询转换为与OR序列非常相似的执行计划,因此它不会真正产生性能差异.这是关于美学和/或更少的打字:)