id
devrait venir dernier . J'aime
add_index "sms", ["From", "To", "SmsMessageSid", "id"], name: "on_id_from_to_sms_message_sid"
Généralement :l'égalité d'abord, la plage ensuite. Connexe :
id
doit toujours être ajouté, sauf s'il y a très peu de lignes par combinaison de ("From", "To", "SmsMessageSid")
. De cette façon, Postgres peut sélectionner directement la première ligne à partir du haut de l'index - dans un balayage d'index , pas une analyse d'index bitmap comme vous le voyez maintenant.
Connexe :
- Postgres n'utilise pas l'index lorsque l'analyse de l'index est une bien meilleure option
- Comment rendre DISTINCT ON plus rapide dans PostgreSQL ?