id
bör komma sist . Gilla
add_index "sms", ["From", "To", "SmsMessageSid", "id"], name: "on_id_from_to_sms_message_sid"
Generellt:jämlikhet först, intervall senare. Relaterat:
id
ska fortfarande läggas till, såvida det inte finns mycket få rader per kombination av ("From", "To", "SmsMessageSid")
. På så sätt kan Postgres välja den första raden från toppen av indexet direkt - i en indexskanning , inte en bitmappsindexsökning som du ser nu.
Relaterat:
- Postgres använder inte index när indexskanning är ett mycket bättre alternativ
- Hur gör man DISTINCT ON snabbare i PostgreSQL?