高效的MySQL查询方法,避免多个OR语句
我对查询非常陌生,我想知道是否有一个更简单的解决方案用于我正在处理的查询 例如,我想得到x是5,7,9,11,13,15和17的数据 我有一个问题如下高效的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]时,它会
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()