我有一个简单的查询,它选择表中与提供的id标准匹配的所有记录。
SELECT * FROM table WHERE id = x or id = y or id = z;
它工作正常,但我有超过50个ID需要包含在where子句中。因此,在性能方面,做一个WHERE IN子句而不是OR会更好吗?还是有更好的方法来执行这个我完全忽略的?
谢谢
答案 0 :(得分:1)
可以使用EXPLAIN (analyze, buffers)
检查PostrgeSQL行为。
这是了解数据库正在做什么的唯一方法。
如果您的列表变大,您可以尝试使用VALUES
结构加入。
请检查以下内容: