sql - Postgresql:哪个更快:使用 OR 子句查询,还是两个单独的查询?

标签 sql postgresql

在这两个查询之间,数据库执行哪个查询更快?

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 将自动删除重复项。那么我想知道是否有技术原因比另一个更可取。

最佳答案

如果您在 xyz 上有索引,它们应该几乎相同。

如果 yz 是列,那么索引将无济于事。如果没有索引可以使用,那么带有 的版本应该快两倍左右,因为它只扫描表一次而不是两次。

关于sql - Postgresql:哪个更快:使用 OR 子句查询,还是两个单独的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54190044/

相关文章:

MySQL - 按两个表的 SUM 分组

java - 分块加载 SELECT 查询的实际数据(无需再次执行相同的查询)

postgresql - => 和 -> 有什么区别?

database - 在数据库中使用继承的优点和缺点是什么

sql - 如何在 PostgreSQL 9.1 数据库中删除多个触发器

php - 排除在层次架构中没有父级的数据

mysql - "Is there any way to get the data between current date to yesterday date via query in Bigquery"

mysql - 左连接无法正常工作

sql - 如何从 PostgreSQL 中没有任何条件的表中删除前几条记录?

database - 有关 PostgreSQL 服务重新加载的文档不会中断打开的事务?