IT-Lexikon › Datenbanken › Expression Index

Expression Index

Datenbanken Svenska → Aktualisiert: 2026-09-09

Ein Index auf dem Ergebnis eines Ausdrucks oder einer Funktion statt direkt auf einer Spalte. CREATE INDEX ON users (lower(email)) macht WHERE lower(email) = ... schnell. Auch functional index genannt.

Anwendungsfälle: case-insensitive Suche (lower()), Indizierung eines JSONB-Felds ((data->>'country')), berechnete Schlüssel (date_trunc('day', created_at)). Voraussetzung: Der Ausdruck muss IMMUTABLE sein, also deterministisch — now() funktioniert nicht. Die Abfrage muss exakt denselben Ausdruck wie der Index verwenden, damit der Planer ihn überhaupt nutzt. Der Haken: Der Index wird bei jedem Schreibvorgang neu berechnet. Unterschied zur generated column, die den Wert in einer echten Spalte materialisiert — ein Expression Index speichert nur das indizierte Ergebnis. Üblich, um redundante Spalten zu vermeiden.

← Zurück zum Lexikon