列A | 列B | 列C |
---|---|---|
... | ... | ... |
A, B, C で複合INDEXを貼った場合に、AやA, Bの組み合わせでもINDEXは使えるのか?
マニュアルに書いてある通り
https://www.postgresql.jp/document/12/html/indexes-multicolumn.html
複数列に対するB-treeインデックスをインデックス対象列の任意の部分集合を含む問い合わせ条件で使用することができます。 しかし、先頭側の(左側)列に制約がある場合に、このインデックスはもっとも効率的になります。
過去のドキュメントだともうちょい分かりやすく言ってる。
https://www.postgresql.org/docs/9.6/indexes-multicolumn.html
問い合わせプランナでは、インデックス定義の最初の列から連続する任意数の右方向の列を含む問い合わせに対して複数列インデックスを使用することができます。 例えば、(a, b, c)上のインデックスは、a、b、およびcの全てを含む問い合わせ、もしくはaおよびb両方を含む問い合わせ、もしくはaのみを使用する問い合わせで使用可能です
参考となる B-Tree インデックスの仕組み B木 - Wikipedia
PostgreSQLに限らずB-Tree インデックスであれば、同じような条件となりそうかと思う。