W SQL specyyfikujemy co ma być zrobione a nie w jaki sposób. System zarządzania bazą danych wybiera najbardziej optymalny sposób wyszukiwania. Zapytania są realizowane w następujący sposób:
- Gdy specyfikowana kolumna jest jednocześnie indeksem głównym, wtedy wyszukiwanie jest przeprowadzane bezpośrednio na tej kolumnie
- Gdy kolumna nie jest indeksem, wtedy następuje wyszukiwanie klucza głównego i dopiero wg niego wyszukiwane są odpowiednie rekordy w bazie danych
Indeks zdefiniowany na pliku jest dodatkową strukturą fizyczną, której celem jest przyspieszenie wykonywania operacji, które nie są wystarczająco efektywnie wspierane przez podstawowe organizacje plików i struktury logiczne danych. Indeksy są zakładane na pojedynczych atrybutach lub zbiorach atrybutów relacji. Atrybuty te noszą nazwę
atrybutów indeksowych. Indeks jest uporządkowanym plikiem rekordów indeksu (ang. data entry) o stałej długości. Rekordy indeksu zawierają dwa pola: klucz reprezentujący jedną z wartości występujących w atrybutach indeksowych relacji oraz wskaźnik do bloku danych zawierający krotkę, której atrybut indeksowy równy jest kluczowi.