En indeks er en separat, sortert datastruktur (et B-tree i InnoDB) som lar MySQL finne rader uten å skanne hele tabellen. Uten en må et oppslag lese hver eneste rad (en full table scan); med en går det gjennom et tre i noen få steg.
Primary vs secondary
I InnoDB er selve tabellen primary key-indeksen — en clustered index. Rader lagres fysisk i primary key-rekkefølge, så primary key-oppslaget lander direkte på hele raden.
En er et separat B-tree nøklet på andre kolonne(r). Løvnodene lagrer den indekserte verdien pluss , så bruk av en secondary index koster ofte et ekstra oppslag ("tilbake til clustered index") for å hente resten av raden.
