Cóż, prawdopodobnie możesz wypełnić książki o indeksach, ale w skrócie tutaj kilka rzeczy do przemyślenia podczas tworzenia indeksu:
Chociaż (w większości) przyspiesza to zaznaczanie, spowalnia wstawianie, aktualizowanie i usuwanie, ponieważ silnik bazy danych nie musi zapisywać tylko danych, ale także indeksu. Indeks wymaga miejsca na dysku twardym (i o wiele ważniejsze) w pamięci RAM. Indeks, który nie może być przechowywany w pamięci RAM, jest dość bezużyteczny. Indeks w kolumnie z kilkoma różnymi wartościami nie przyspiesza wyboru, ponieważ nie może uporządkować wielu wierszy (na przykład kolumna „płeć”, która zwykle ma tylko dwie różne wartości - mężczyzna, kobieta).
Jeśli używasz na przykład MySQL, możesz sprawdzić, czy silnik używa indeksu, dodając "explain" przed zaznaczeniem - dla powyższego przykładu EXPLAIN SELECT TestField FROM Example WHERE username=XXXX