2017-03-27 31 views
0

例如,我有一個名爲archived_at的列上有一個索引的Rails應用程序。該查詢是一個OR,用於檢查將來是否爲archived_at IS NULL或archived_at(它是時間戳列)。PostgreSQL是否使用索引進行OR查詢?

是否使用OR旁路索引?我以前聽說過這方面的事情。

+2

我建議您使用'EXPLAIN'來查看Postgres如何使用您的索引:https://www.postgresql.org/docs/9.3/static/sql-explain.html – Dai

回答

0

PG可以使用位圖索引掃描進行此操作。

如果您的行(或多或少)在物理表中很好地組織(例如,archived_at是表中的插入日期,並且只有很少的刪除),此過程非常高效。