Ausdrucksindex – Wikipedia

Ein Ausdrucksindex, auch bekannt als funktionsbasierter Indexist ein Datenbankindex, der auf einem generischen Ausdruck und nicht auf einer oder mehreren Spalten basiert. Auf diese Weise können Indizes für allgemeine Abfragebedingungen definiert werden, die von Daten in einer Tabelle abhängen, jedoch nicht in dieser Tabelle gespeichert sind.

Eine häufige Verwendung für einen Ausdrucksindex ist die Unterstützung der Suche oder der Einschränkungen, bei denen die Groß- und Kleinschreibung nicht berücksichtigt wird. Wenn eine Website beispielsweise festlegen möchte, dass bei Benutzernamen die Groß- und Kleinschreibung nicht berücksichtigt wird, die Groß- und Kleinschreibung jedoch wie ursprünglich vom Benutzer eingegeben beibehalten wird, kann ein Index für die Darstellung des Benutzernamens in Kleinbuchstaben erstellt werden:

CREATE INDEX users__last_name_lower ON users( lower( last_name ) );

Dadurch wird ein eindeutiger Index für „lower (last_name)“ erstellt. Alle Abfragen, die nach „niedriger (Nachname)“ suchen, können dann diesen Index verwenden:

SELECT user_id FROM users WHERE lower( last_name ) = lower( 'Smith' );

Datenbankunterstützung[edit]

Zu den wichtigsten Datenbanken, die Ausdrucksindizes unterstützen, gehören: DB2 (seit Version 10.5)[1]), Oracle Database (seit Release 8i.[2]) und PostgreSQL (seit mindestens Version 7[3]).

Verweise[edit]