PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Die Abfrage trifft nicht auf den Index - sind dies die richtigen Spalten zum Indexieren?

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: