次のようなSQLクエリがあります。
SELECT *
FROM table
WHERE ARRAY['entry1', 'entry2'] && array_column
array_columnには何千ものエントリを含めることができますが、入力には通常それらの数しかありません。array_column のタイプですcharacter varying[]
かなり最近のバージョンの PostgreSQL (9.2) を使用しています。使用する適切なインデックスは何ですか?
次のようなSQLクエリがあります。
SELECT *
FROM table
WHERE ARRAY['entry1', 'entry2'] && array_column
array_columnには何千ものエントリを含めることができますが、入力には通常それらの数しかありません。array_column のタイプですcharacter varying[]
かなり最近のバージョンの PostgreSQL (9.2) を使用しています。使用する適切なインデックスは何ですか?
GIN
そのためには、インデックスを使用する必要があります。マニュアルのこの部分も参照してください: http://www.postgresql.org/docs/current/static/indexes-types.html
配列演算子を使用している場合にのみ機能することに注意してください(使用しているの&&
はその1つです)。
Gin インデックスの詳細については、http ://www.postgresql.org/docs/9.3/static/gin.html を参照してください。