Ich möchte Statistiken zu den am häufigsten ausgeführten Abfragen in meiner Datenbank sammeln.
Dazu muss ich wissen, wie ich Abfragen verfolgen kann, damit ich Ansichten oder materialisierte Ansichten erstellen kann, um die Ergebnisse der am häufigsten ausgeführten Abfragen zwischenzuspeichern, da ich eine große Datenbank habe.
postgresql
view
materialized-view
Mamesaye
quelle
quelle
Antworten:
Wie jemand in den Kommentaren sagte, ist pg_stat_statements der Weg, um die Statistiken zu erhalten. Setzen Sie dies in Ihre
postgresql.conf
:Führen Sie dann diese Abfrage aus:
Danach erhalten Sie mit dieser Beispielabfrage (kopiert aus den oben verlinkten Dokumenten) die Statistiken für 5 Top-Abfragen aus allen Datenbanken :
Wenn Sie Ergebnisse für eine einzelne Datenbank wünschen , müssen Sie nach
dbid
dempg_database
Namen der Datenbank filtern . Fügen Sie diese WHERE-Klausel zur obigen Abfrage hinzu:Sie können auch einen Join durchführen.
Wenn Sie dies testen, ist es möglicherweise eine gute Idee, die Abfragen in den Statistik- / Schematabellen selbst auszuschließen, zum Beispiel:
Es gibt eine Reihe kostenloser und kommerzieller Tools , mit denen Sie die Daten visualisieren können.
quelle