调整两列与一组整数的比较

时间:2012-05-29 14:19:00

标签: postgresql indexing database-performance performance

拥有此WHERE子句:

WHERE detail.element_id IN (4, 5, 6, 7, 8) AND
      (
        detail.additionalelement_id IS NULL OR
        detail.additionalelement_id IN (4, 5, 6, 7, 8)
      )

我们可以创建哪种索引/对象来优化查询的性能? 你会如何以更有效的方式重写这个条款?

1 个答案:

答案 0 :(得分:1)

detail(element_id)detail(additionalelement_id)上创建一个索引,让postgres决定使用哪个索引。

(已编辑为使用coalesce(detail.additionalelement_id, -1)删除)