使用每行最多500次比较查询数据库的最佳方法是什么。
SELECT * FROM table WHERE column = x OR column = y OR column = z OR ...(x500)
我估计这张桌子在短期内可能增长到数千个。 感谢
答案 0 :(得分:7)
使用WHERE column IN(x,y,z...)
答案 1 :(得分:4)
如果你做了一些......说少于20左右,你可以使用IN(....)子句。但是,如果你做的事情通常会定期超过100或1000,我会使用一个只有“columnX”值的临时表并插入所有可能的值...然后使用这个临时表查询连接作为对方的基础......
select YT.*
from
JustValuesTable JVT
Join YourTable YT
ON JVT.ColumnX = YT.ColumnX
rest of query...
答案 2 :(得分:3)
也许你可以使用in子句..
select * from table where column in ('asdf', 'aqwer' .....)
另外,您可能想要创建一个包含允许值的视图,然后
select * from table where column in (select your_field_name from your_view)
答案 3 :(得分:1)
您最好使用IN
查询:
SELECT * FROM table WHERE column IN (x, y, z)
这至少会使它更具可读性,我认为应该提高性能。
答案 4 :(得分:1)
如何使用IN function?