単なる簡単な質問ですが、インデックスの順序は複数の列にまたがっても関係ありませんか?私のインデックスは次のように作成された場合複数の列のインデックスの順序
SELECT * FROM my_table WHERE (column_1 = 1 AND column_2 = 2)
私はこのようなクエリのためにインデックスを追加したい場合は、それは問題ではない:
CREATE INDEX my_index ON my_table (column_1, column_2)
またはクエリを取っ例えば
、このように:
CREATE INDEX my_index ON my_table (column_2, column_1)
ありがとうございます!
実際、この場合でも問題になる可能性があります。ほぼすべての行にcol1 = 1が指定されている場合、col2が最初のものであれば、索引はうまく機能します。 –
1つの列が他の列よりも著しく高いelisctivityを持っている場合、提供された例でも問題になる可能性があります。高い選択性(多くの異なる値)を持つ列を先に配置します。 – Manu
システム上ですでに利用可能なインデックスをヒットする方法を理解するのに役立つこの回答の優れた情報。 – Swoop