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.Antworten:
Die Verwendung des Index hängt von der Struktur Ihrer Daten und der Selektivität Ihrer Daten ab. Wenn Sie Fragen stellen, die Sie nicht verwenden, sind diese teuer. Wenn Sie sie effektiv einsetzen, sind sie ein großartiges Werkzeug. Es gibt einen Abfrageplaner und eine Abfrageplaner-
EXPLAIN
Analyse ( ), die nur das Planen oder Planen und Ausführen von Befehlen (EXPLAIN ANALYZE
) ermöglicht.Und es gibt ein großartiges Online-Buch: Verwenden Sie den Index Luke über die empfohlene Verwendung von Indizes
quelle
Wählen Sie Faustregeln und befolgen Sie diese. Zum Beispiel erstelle ich immer einen Index auf der referenzierenden Seite eines Fremdschlüssels.
Stellen Sie sicher, dass Sie Ihr Produkt anhand von Leistungskriterien testen, die auf den Anforderungen der Benutzer basieren. Beispielsweise muss das System eine eingehende Last von 100 POST-Anforderungstypen X pro Minute verarbeiten.
Wenn Sie Ihre Leistungsanforderungen nicht erfüllen können, verfeinern Sie Ihr Modell und verstoßen dabei möglicherweise gegen Ihre Faustregeln.
quelle