To je ve skutečnosti těžší, než to vypadá – typický moderní DBMS (a MS SQL Server není výjimkou) někdy provede úplné prohledání tabulky, i když je index k dispozici, jednoduše proto, že to může být rychlejší na malém množství dat.
Příklad:
-
Poslední příkaz v tomto příkladu SQL Fiddle může být uspokojen indexem, přesto plán dotazů jasně indikoval prohledání tabulky:
-
Pokud ale vložíme nějaká data , používá se index:
A co víc, rozhodnutí DBMS může být ovlivněno tím, jak čerstvé/přesné statistiky jsou.
Nejspolehlivějším testem, zda je index použit, je jednoduše naplnit databázi reprezentativním množstvím dat a pak podívejte se na prováděcí plán . A nezapomeňte načasovat skutečné provedení dotazu, když už jste u toho!
Zjednodušený příklad:pokud se celá tabulka vejde do jedné databázové stránky, je rychlejší jednoduše načíst tuto stránku a projít ji postupně, než čekat na další I/O pro stránku obsahující index.>