Jeśli SELECT zwraca więcej niż około 5-10% wszystkich wierszy w tabeli, skanowanie sekwencyjne jest znacznie szybsze niż skanowanie indeksu.
Dzieje się tak, ponieważ skanowanie indeksu wymaga kilka Operacje we/wy dla każdego wiersza (wyszukaj wiersz w indeksie, a następnie pobierz wiersz ze sterty). Podczas gdy skanowanie sekwencyjne wymaga tylko jednego IO dla każdego wiersza – lub nawet mniej, ponieważ blok (strona) na dysku zawiera więcej niż jeden wiersz, więc więcej niż jeden wiersz można pobrać za pomocą jednej operacji IO.
Btw:dotyczy to również innych DBMS - niektóre optymalizacje, takie jak "skanowanie tylko z indeksem" na bok (ale dla SELECT * jest bardzo mało prawdopodobne, aby DBMS wybrał "skanowanie tylko z indeksem")