【发布时间】:2020-12-01 03:55:00
【问题描述】:
我想为 1 列实现多个特定参数,例如:
select * from table1
where column1 = a or column1 = b or column1 = c ...
能否以更好的方式完成(使用中的 SQL 语句超过 10 行 加上 OR 语句,它会再增加 10 行 Oo,它会使代码 慢得多!)
【问题讨论】:
-
为了便于阅读,您可以使用运算符 IN。性能虽然不会更好。
-
column1 IN (a ,b ,c, ...)应该适用于许多 SQL 数据库。 -
如果您担心性能问题,那么在 column1 上添加索引可能会有所帮助,但使用 'IN' 绝对是可行的方法。
-
是 a、b、c 等文字/值还是其他列?
-
我听说过最快的 SQL 处理方式,它将包括 UNION ALL,尽管在 cmets 中已经提到过 IN 的可读性。
标签: sql performance select conditional-statements netezza