PostgreSQL verwendet verschiedene Zugriffsverfahren, um Daten abzurufen, darunter Index Scans, Index Only Scans und Bitmap Scans. Ein Index Scan durchsucht die Indexstruktur, um übereinstimmende Einträge zu finden, und ruft dann die entsprechenden Zeilendaten aus der Tabelle ab. Index Scans sind effizient, wenn die Abfrage hochselektiv ist, die Tabelle groß ist und der Index die in der WHERE-Klausel verwendeten Spalten abdeckt. Ein Index Only Scan ist eine spezialisiertere Version des Index Scans, die alle erforderlichen Daten direkt aus dem Index abruft und so den Besuch der Tabelle überflüssig macht. Index Only Scans sind besonders effizient, wenn die Abfrage nur Spalten benötigt, die im Index enthalten sind, und die Tabelle groß ist. Ein Bitmap Index Scan ist ein hochentwickeltes Zugriffsverfahren, das die Selektivität von Indizes mit der Effizienz sequenzieller Festplattenzugriffsmuster kombiniert. Bitmap Scans werden verwendet, wenn erwartet wird, dass die Abfrage eine moderate Anzahl von Zeilen zurückgibt, die Zeilen über die Tabelle verteilt sind und mehrere Indizes kombiniert werden können. Der Befehl `Explain Analyze` liefert eine detaillierte Aufschlüsselung, wie PostgreSQL eine Abfrage ausführt, einschließlich der tatsächlichen Ausführungszeit und der Ressourcenauslastung. Abfragepläne in PostgreSQL folgen einer hierarchischen Struktur, wobei jeder eingerückte Pfeil einen Knoten im Ausführungsbaum darstellt. Das Verständnis von Abfrageplänen ist unerlässlich, um die Datenbankleistung zu optimieren und Engpässe in der Abfrageausführung zu identifizieren.
dev.to
Navigating PostgreSQL - Index, Index Only and Bitmap Index Scans Explained
Create attached notes ...
