Pravděpodobně můžete naplnit knihy o indexech, ale ve zkratce zde je několik věcí, na které je třeba myslet při vytváření indexu:
Zatímco to (většinou) zrychluje výběr, zpomaluje to vkládání, aktualizace a mazání, protože databázový stroj nemusí zapisovat pouze data, ale i index. Index potřebuje místo na pevném disku (a mnohem důležitější) v RAM. Index, který nelze držet v paměti RAM, je docela k ničemu. Index na sloupci s několika různými hodnotami nezrychluje výběry, protože neumí třídit mnoho řádků (například sloupec „gender“, který obvykle má pouze dvě různé hodnoty – muž, žena).
Pokud například používáte MySQL, můžete zkontrolovat, zda motor používá index přidáním "vysvětlit" před výběr - pro váš výše uvedený příklad EXPLAIN SELECT TestField FROM Example WHERE username=XXXX