在多列索引中,我知道顺序对于哪些类型的查询能够使用索引很重要。中提到的列WHERE
应该是索引中最左边的列。这是一篇关于此的 Postgres 文章。
但是,考虑使用所有列的情况。在这两种情况下,顺序是否会影响使用索引的性能:
- 具有多个
=
. 例子:SELECT * FROM "posts" WHERE "user_id" = 5 AND "post_type" = 'Thing' AND "state" = 'active'
- 在涉及
IN
. 例子:SELECT * FROM "posts" WHERE "user_id" = 5 AND "post_type" = 'Thing' AND ("state" IN ('active', 'draft'))