Indice secondario
Indice su una colonna diversa dalla chiave primaria, che permette di cercare rapidamente per quell'attributo. «Trova tutti gli utenti con cognome = Andersson» richiede un indice secondario sul cognome, altrimenti va scansionata l'intera tabella.
Il meccanismo: un indice secondario associa il valore della colonna indicizzata alle chiavi primarie (o ai puntatori di riga) in cui compare. Una ricerca consulta l'indice e poi recupera le righe. È distinto dall'indice primario/clustered (che determina l'ordine fisico): gli indici secondari sono strutture separate che rimandano alle righe. Il compromesso: letture più veloci su quella colonna, ma ogni scrittura deve aggiornare tutti gli indici coinvolti (costo in scrittura) ed essi occupano spazio su disco. Nei database distribuiti la cosa si complica: l'indice può essere partizionato per nodo (local secondary index) oppure globale (global secondary index), con compromessi diversi. Un'ottimizzazione fondamentale dei database.