Indices verwenden

Bisher haben wir Daten in Tabellen importiert, die nicht indiziert waren. In diesem Abschnitt wollen wir uns ansehen, was Indices sind und wie sie verwendet werden können.

Indices dienen primär dazu, die Suchleistung einer Datenbank zu steigern. Wenn Sie beispielsweise in einem Telefonbuch nach einem Namen suchen, werden Sie wohl kaum das Buch von vorne nach hinten durchlesen, um den Namen zu finden. Stattdessen werden Sie das Buch irgendwo in der Mitte aufschlagen, um die zu prüfenden Einträge zu minimieren. Das Suchen eines Datensatzes im Telefonbuch ist eine praktische Anwendung für einen Index, da es darum geht, wenige Datensätze aus sehr vielen verschiedenen Datensätzen zu extrahieren. Wollten Sie das Telefonbuch abschreiben (auf SQL übersetzt, würde das 'SELECT * FROM table' bedeuten), werden Sie keinen Index benötigen, da Sie den Datenbestand ohnehin von vorne bis hinten durchlesen müssen.

Oft werden Indices von vermeindlichen Performance Gurus als Allheilmittel gepriesen und nur zu häufig eingesetzt - die gleichen Gurus vergessen allerdings auch, dass das Verwalten eines Index (also einfügen, updaten und löschen) auch Aufwand darstellt. Sie müssen sich also Gedanken machen, bevor Sie einen Index definieren und dürfen sich keinesfalls darauf verlassen, dass ein Index immer einen Gewinn darstellt.



Subsections

Cybertec Schönig & Schönig GmbH
PostgreSQL support, training, consulting
www.postgresql-support.de