Wadą zakładania indeksów na wielu polach tabeli jest
A. brak możliwości sortowania danych według tych pól.
B. spowolnienie operacji dodawania i modyfikacji rekordów.
C. konieczność przechowywania tych pól w osobnej tabeli.
D. utrata więzów integralności tabeli.
Poprawna odpowiedź to: spowolnienie operacji dodawania i modyfikacji rekordów. Indeks jest dodatkową strukturą danych tworzoną przez system bazy danych, najczęściej w postaci drzewa lub podobnej struktury wyszukiwawczej. Przy odczycie może znacznie przyspieszyć wyszukiwanie, filtrowanie, sortowanie albo łączenie tabel, ponieważ silnik nie musi przeglądać wszystkich rekordów. Koszt pojawia się przy zmianach danych. Po operacji INSERT, UPDATE lub DELETE trzeba zaktualizować nie tylko samą tabelę, lecz także wszystkie indeksy dotyczące zmienianych kolumn. Reguła do zapamiętania: indeks przyspiesza odczyt, ale zwiększa koszt zapisu i zajmuje dodatkowe miejsce na dysku. W praktyce indeksuje się głównie pola często używane w WHERE, JOIN i ORDER BY, a nie każde pole tabeli.
Indeks nie zmienia logicznej zawartości tabeli, tylko dodaje strukturę ułatwiającą dostęp do danych. Brak możliwości sortowania danych według tych pól nie opisuje wady indeksów - przeciwnie, indeks może pomóc przy sortowaniu, jeżeli zapytanie korzysta z odpowiednich kolumn i kolejności. Utrata więzów integralności tabeli także nie wynika z założenia indeksu. Więzy integralności dotyczą między innymi kluczy głównych, kluczy obcych i ograniczeń UNIQUE lub NOT NULL; indeksy mogą nawet wspierać egzekwowanie unikalności. Konieczność przechowywania tych pól w osobnej tabeli również nie jest skutkiem indeksowania. Indeks jest utrzymywany przez silnik bazy danych jako struktura pomocnicza, bez ręcznego przenoszenia kolumn do innej tabeli. Poprawna odpowiedź to: spowolnienie operacji dodawania i modyfikacji rekordów. Typowy błąd myślowy polega na traktowaniu indeksu jak zmiany projektu relacyjnego tabeli, a nie jak mechanizmu przyspieszającego odczyt kosztem wolniejszych zapisów.