高效的MySQL查询方法,避免多个OR语句

高效的MySQL查询方法,避免多个OR语句,mysql,Mysql,我对查询非常陌生,我想知道是否有一个更简单的解决方案用于我正在处理的查询 例如,我想得到x是5,7,9,11,13,15和17的数据 我有一个问题如下 SELECT * FROM abc WHERE x = 5 or x = 7 or x = 9 or x = 11 or x = 13 or x = 15 or x = 17; 是否可以使用此查询,或者是否有其他更简单有效的解决方案 编辑 当我使用x=[5,7,8,11,13,15,17]vs x=[5,11,7,15,8,17,13]时,它会

我对查询非常陌生,我想知道是否有一个更简单的解决方案用于我正在处理的查询

例如,我想得到x是5,7,9,11,13,15和17的数据

我有一个问题如下

SELECT * FROM abc WHERE x = 5 or x = 7 or x = 9 or x = 11 or x = 13 or x = 15 or x = 17;
是否可以使用此查询,或者是否有其他更简单有效的解决方案

编辑

当我使用x=[5,7,8,11,13,15,17]vs x=[5,11,7,15,8,17,13]时,它会影响性能吗


例如,X是另一个类别的ID。

这较短,但性能相同

SELECT * FROM abc WHERE x in (5,7,9,11,13,15,17)

但是请记住,如果
in
子句中的
中有一个条目为
null
则返回FALSE。

谢谢您的回答!我将搜索有关基准测试的信息,并亲自尝试。顺便问一下,如果我想让输出变成随机的,而不是从新到旧的,你会给我什么建议?
orderbyrand()