Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Ein Plan ist ein Baum aus verschiedenen Teilplänen. Ein Knoten im Baum ist also ein solcher Teilplan. Zur Beurteilung eines Plans sollte man daher die Planknotentypen kennen. Die wichtigsten Typen sind folgende:
Die Tabelle wird von Anfang bis Ende gelesen und jede Zeile auf eine eventuell angegebene Bedingung überprüft. Das ist bei einigermaßen großen Tabellen natürlich brutal langsam, weswegen eben üblicherweise Indexe verwendet werden.
Der Index wird, je nach Art des Index, nach Treffern für die Suchbedingung durchsucht. Für jeden Treffer muss dann einzeln in der zugehörigen Tabelle nachgesehen werden, ob die Zeile entsprechend den MVCC-Regeln für die aktuelle Transaktion sichtbar ist. Das ist notwendig, weil nur Tabellen, aber nicht Indexe die MVCC-Sichtbarkeitsinformationen speichern. (Man beachte, dass es somit in PostgreSQL im Gegensatz zu einigen anderen DBMS auch nicht möglich ist, Anfrageergebnisse komplett aus einem Index ohne Zugriff auf die eigentliche Tabelle zu erhalten.) Durch dieses Verhalten wird der Geschwindigkeitsvorteil von Indexen in PostgreSQL eingegrenzt. Sie können schneller sein, weil nicht die ganze Tabelle durchsucht werden muss, sie können aber....