"Пълното сканиране на таблицата не винаги е лошо. Индексите не винаги са добри."
Методът за достъп, базиран на индекс, е по-малко ефективен при четене на редове от пълното сканиране, когато го измервате по отношение на редовете, достъпни за единица работа (обикновено за логическо четене). Въпреки това много инструменти ще интерпретират пълното сканиране на таблицата като знак за неефективност.
Вземете пример, когато четете няколкостотин фактури от таблица с фактури и търсите начин на плащане в малка таблица за справка. Използването на индекс за проверка на таблицата за търсене за всяка фактура вероятно означава три или четири логически io на фактура. Въпреки това, пълното сканиране на таблицата за търсене в подготовка за хеш присъединяване от данните на фактурата вероятно ще изисква само няколко логически четения, а самото хеш присъединяване ще се извърши в паметта почти без никакви разходи.
Въпреки това много инструменти ще разгледат това и ще видят "пълно сканиране на таблицата" и ще ви кажат да опитате да използвате индекс. Ако го направите, може би току-що сте денастроили кода си.
Между другото, прекомерното разчитане на индекси, както в горния пример, води до повишаване на "коефициента на попадане в буферния кеш". Ето защо BCHR е предимно глупост като предсказател за ефективността на системата.