Ich verstehe, dass die Reihenfolge der Spalten im Index selbst von enormer Bedeutung ist. Was ist jedoch mit der Reihenfolge der Spalten in den nachfolgenden SELECT-Abfragen, die diesen Index verwenden?
Wenn ich beispielsweise einen mehrspaltigen Index habe [:col_1, :col_2, :col_3]
, muss meine SELECT-Anweisung so aussehen "SELECT * FROM my_table WHERE col_1 = (?), col_2 = (?), col_3 = (?)"
, damit die Abfrage optimiert werden kann? Oder kann ich die Parameter in beliebiger Reihenfolge angeben und das Abfrageoptimierungsprogramm übernimmt dies?
Ich habe einige ähnliche Antworten gelesen , aber es schien keine endgültige Antwort zu geben, die auf Dokumentation hinwies und relativ zu Indizes antwortete. Einige Antworten sagen "es sollte keine Rolle spielen" oder "Wirkung ist vernachlässigbar".
Ich arbeite mit RoR / ActiveRecord an PostgreSQL, aber die Frage ist wirklich für jede SQL / relationale Datenbank.