在这两个查询之间,数据库执行哪个查询更快?
select a, b, c from t where x = y or x = z;
对比
select a, b, c from t where x = y;
select a, b, c from t where x = z;
任何一个都适合我的应用程序,因为结果将被放入一个 map 中,该 map 将自动删除重复项。那么我想知道是否有技术原因比另一个更可取。
最佳答案
如果您在 x
和 y
和 z
上有索引,它们应该几乎相同。
如果 y
和 z
是列,那么索引将无济于事。如果没有索引可以使用,那么带有 或
的版本应该快两倍左右,因为它只扫描表一次而不是两次。
关于sql - Postgresql:哪个更快:使用 OR 子句查询,还是两个单独的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54190044/