pg_stat_ann_indexes aufrufen, die verfügbar ist, wenn Sie die Erweiterung alloydb_scann installieren.
Weitere Informationen zum Aufrufen der Messwerte finden Sie unter Messwerte für Vektorindex aufrufen.
Messwerte zur Nutzerfreundlichkeit
Die Messwerte zur Nutzerfreundlichkeit umfassen Messwerte, mit denen Sie den Status der Indexnutzung nachvollziehen können, z. B. die Indexkonfiguration und die Anzahl der Indexscans.
| Messwertname | Datentyp | Beschreibung |
|---|---|---|
relid |
OID |
Eindeutige Kennung der Tabelle, die den Vektorindex enthält |
indexrelid |
OID |
Eindeutige Kennung des Vektorindex |
schemaname |
NAME |
Name des Schemas, zu dem der Index gehört |
relname |
NAME |
Name der Tabelle, die den Index enthält |
indexrelname |
NAME |
Name des Index |
indextype |
NAME |
Typ des Index. Dieser Wert ist immer auf alloydb_scann festgelegt. |
indexconfig |
TEXT[] |
Konfiguration, z. B. Anzahl der Blätter und Quantisierer, die beim Erstellen des Index definiert wurden |
indexsize |
TEXT |
Größe des Index |
indexscan |
BIGINT |
Anzahl der für den Index initiierten Indexscans |
partitioncount |
BIGINT |
Anzahl der Partitionen (Blattknoten) im Baum. |
Abstimmungsmesswerte
Optimierungsmesswerte bieten Einblicke in Ihre aktuelle Indexoptimierung, sodass Sie Empfehlungen für eine schnellere Abfrageleistung anwenden können.
| Messwertname | Datentyp | Beschreibung |
|---|---|---|
insertcount |
BIGINT |
Anzahl der Einfügevorgänge im Index. Dieser Messwert enthält auch die Anzahl der Zeilen, die vor dem Erstellen des Index vorhanden waren. |
updatecount |
BIGINT |
Anzahl der Aktualisierungsvorgänge für den Index. Bei diesem Messwert werden keine HOT-Updates berücksichtigt. |
deletecount |
BIGINT |
Anzahl der Löschvorgänge für den Index. |
distribution |
JSONB |
Vektorverteilungen über alle Partitionen für den Index. Die folgenden Felder zeigen die Verteilung:
Hinweis: Aufgrund der inhärenten Eigenschaften des K-Means-Clustering-Algorithmus gibt es immer eine gewisse Varianz in der Verteilung der Vektoren über die Partitionen, auch wenn der Index zum ersten Mal erstellt wird. |
Optimierungsempfehlung basierend auf den Messwerten
- Mutation
- Die Messwerte
insertcount,updatecountunddeletecountzeigen zusammen die Änderungen oder Mutationen im Vektor für den Index. - Der Index wird mit einer bestimmten Anzahl von Vektoren und Partitionen erstellt. Wenn Vorgänge wie Einfügen, Aktualisieren oder Löschen für den Vektorindex ausgeführt werden, wirkt sich dies nur auf die ursprüngliche Gruppe von Partitionen aus, in denen sich die Vektoren befinden. Daher schwankt die Anzahl der Vektoren in jeder Partition im Laufe der Zeit, was sich auf den Recall, die Abfragen pro Sekunde oder beides auswirken kann.
- Wenn Sie im Laufe der Zeit bei Ihren ANN-Suchanfragen Probleme mit der Geschwindigkeit oder Genauigkeit feststellen, z. B. eine niedrige Rate von Abfragen pro Sekunde oder einen schlechten Recall, sollten Sie diese Messwerte überprüfen. Eine hohe Anzahl von Mutationen im Verhältnis zur Gesamtzahl der Vektoren kann darauf hindeuten, dass eine Neuindexierung erforderlich ist.
- Vertrieb
- Der Messwert
distributionzeigt die Vektorverteilungen über alle Partitionen hinweg. - Wenn Sie einen Index erstellen, wird er mit einer bestimmten Anzahl von Vektoren und festen Partitionen erstellt. Die Partitionierung und die anschließende Verteilung erfolgen auf Grundlage dieser Überlegung. Wenn zusätzliche Vektoren hinzugefügt werden, werden sie auf die vorhandenen Partitionen aufgeteilt. Das führt zu einer anderen Verteilung als bei der Erstellung des Index. Da bei der endgültigen Verteilung nicht alle Vektoren gleichzeitig berücksichtigt werden, können der Recall, die Abfragen pro Sekunde oder beides beeinträchtigt werden.
- Wenn Sie einen allmählichen Rückgang der Leistung Ihrer ANN-Suchanfragen feststellen, z. B. langsamere Antwortzeiten oder eine geringere Genauigkeit der Ergebnisse (gemessen an QPS oder Recall), sollten Sie diesen Messwert prüfen und eine Neuindexierung durchführen.