Warum PostgreSQL?

Eine lockere Zusammenstellung von Features. Teil 7

Tabellenvererbung

Als objektrelationales Datenbanksystem beherrscht PostgreSQL die Vererbung von Tabellen. Dabei kann eine Tabelle von einer anderen abgeleitet, d.h. u.a. um spezifische Spalten erweitert, werden. Das Abfragestatement „SELECT“ versteht eine „ONLY“-Angabe, mit deren Hilfe man steuern kann, ob man bei Zugriffen auf die Basistabelle nur diejenigen Zeilen sehen möchte, die explizit in die Basistabelle eingetragen wurden, oder auch diejenigen, die vermittels der abgeleiteten Tabellen in die Datenbank geschrieben wurden. Bis einschließlich zur derzeit (Mai 2017) noch aktuellen Version 9.6 erfolgt die Verteilung der Zeilen stark gefüllter Tabellen auf mehrere weniger stark gefüllte (Partitionierung bzw. Sharding) meist unter Verwendung der Tabellenvererbung. Mit der kommenden Version 10 wird erstmals native Partitionierung unterstützt werden.

Indizierung

Die Indizierung, als eine wichtige Möglichkeit der Performanceoptimierung, ist in PostgreSQL sehr umfangreich implementiert. Neben auf spezielle Anwendungsfälle zugeschnittenen Indizes, z.B. zur Volltextsuche, sind wichtige Features wie mehrspaltige, funktionsbasierte und partielle Indizes ebenso umgesetzt wie die Sprachabhängigkeit (Sortierung!) von Indizes auf Textspalten. Bei Abfragen brachte die Einführung von Index-only-Scans in einer der früheren PostgreSQL-Versionen bei vielen SELECTs einen deutlichen Performancegewinn.

Weitere Informationen zu PostgreSQL finden Sie hier.

Haben Sie Fragen rund um PostgreSQL? Unsere Experten helfen gerne weiter: postgresql@exirius.de

Part 8/10 – Backup, Recovery & Restore, Leichte Wartbarkeit