From: | Harald Fuchs <hf0614x(at)protecting(dot)net> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Re: Implementierung mehrdimensionaler Indexe |
Date: | 2005-08-09 16:43:35 |
Message-ID: | pull3bkqmg.fsf@srv.protecting.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
In article <20050809133026(dot)GB13278(at)nibiru(dot)local>,
Enrico Weigelt <weigelt(at)metux(dot)de> writes:
> Ich bin bisher immer davon ausgegangen, daß so ein mehrspaltiger
> Index nichts weiter ist, als ein Index über einer Verkettung der
> einzelnen Spalten. (ähnlich wie wohl ein Funktionalen Index
> einfach ein Index über dem Funktionsergebnis sein düffte)
> Solch ein Schachtel-Index dürfte sich aber um einiges anders
> verhalten, als solch ein Kombi-Index.
Richtig. Ein funktionaler Index der Art
CREATE INDEX fct_ix ON tbl ((col1 || col2))
ist ausschließlich für Abfragen der Art
SELECT whatever FROM tbl WHERE col1 || col2 = 'foo'
zu gebrauchen.
Ein mehrspaltiger Index der Art
CREATE INDEX mult_ix ON tbl (col1, col2)
ist aber auch für folgendes brauchbar:
SELECT whatever FROM tbl WHERE col1 = 'foo'
solange die an der Abfrage beteiligten Spalten einen Präfix der
Indexspalten bilden.
Was genau in PostgreSQL implementiert ist, weiß ich zwar nicht, bin
aber ziemlich sicher, daß der mehrspaltige Index ein "Schachtel-Index"
ist.
From | Date | Subject | |
---|---|---|---|
Next Message | Pierre Pönisch | 2005-08-09 17:02:41 | Re: Implementierung mehrdimensionaler Indexe |
Previous Message | Wolfgang Keller | 2005-08-09 15:08:30 | Re: Welche GUI ist empfehlenswert ? |