Laut Craig Ringer :
Während es normalerweise eine gute Idee ist, einen Index für Ihre referenzseitigen Fremdschlüsselspalten zu erstellen (oder einzuschließen), ist dies nicht erforderlich. Jeder Index , den Sie hinzufügen verlangsamt Operationen leicht nach unten DML, so dass Sie auf Kosten der Leistung auf jeder zahlen
INSERT
,UPDATE
oderDELETE
. Wenn der Index selten verwendet wird, lohnt es sich möglicherweise nicht, ihn zu haben.
Wie stellen Sie fest, ob der Nutzen des Hinzufügens eines Index die Kosten übersteigt?
Profilieren Sie Unit-Tests vor / nach dem Hinzufügen eines Index und prüfen Sie, ob insgesamt ein Leistungsgewinn erzielt wurde? Oder gibt es einen besseren Weg?
pg_stat_user_indexes
hilft Ihnen dabei und zeigt Informationen zur Indexverwendung an. Um die Wartungskosten abzuschätzen, können Sie sich Ihre Tabellenschreibaktivität ansehen.pg_stat_user_tables
Aufgrund von HOT müssen jedoch nicht alle Aktualisierungen unbedingt den Index berühren, damit Sie möglicherweise ein wenig überschätzen.