id
sollte zuletzt kommen . Wie
add_index "sms", ["From", "To", "SmsMessageSid", "id"], name: "on_id_from_to_sms_message_sid"
Generell gilt:Gleichheit zuerst, Range später. Verwandte:
id
trotzdem angehängt werden, es sei denn, es gibt sehr wenige Zeilen pro Kombination von ("From", "To", "SmsMessageSid")
. Auf diese Weise kann Postgres direkt die erste Zeile von oben aus dem Index auswählen - in einem Index-Scan , kein Bitmap-Index-Scan wie Sie jetzt sehen.
Verwandte:
- Postgres verwendet Index nicht, wenn Index-Scan viel bessere Option ist
- Wie kann DISTINCT ON in PostgreSQL schneller gemacht werden?