Ein Datenbankindex (kurz: Index) beschleunigt die Suche nach Datensätzen in einer Datenbank (insbesondere in RDBMS mit Tausenden oder gar Millionen Datensätzen pro Tabelle) erheblich. Ein solcher Index besteht aus einer Ansammlung von Zeigern, die eine Ordnungsrelation auf eine oder mehrere Spalten in einer Tabelle definieren. Wird nun bei einer Abfrage eine indizierte Spalte als Suchkriterium herangezogen, sucht das Datenbanksystem die gewünschten Datensätze an Hand dieser Zeiger. Ohne Index müsste es sequentiell suchen, was selbst mit modernster Hardware und Software viel Zeit beanspruchen kann.
In SQL wird ein solcher Index mit dem Befehl create index Index_Name on Tabelle (Spalten) definiert. In den meisten Fällen wird eine einzelne Spalte indiziert, doch auch zusammengesetzte Indizes sind in den meisten Datenbanksystemen erlaubt.
Auf Primärschlüssel (SQL-Klausel primary key im Befehl create table) wird automatisch ein Index gelegt.