Если SELECT возвращает более 5-10% всех строк в таблице, последовательное сканирование выполняется намного быстрее, чем сканирование индекса.
Это связано с тем, что для сканирования индекса требуется несколько операций ввода-вывода для каждой строки (найдите строку в индексе, затем извлеките строку из кучи).В то время как для последовательного сканирования требуется только один ввод-вывод для каждой строки - или даже меньше, поскольку блок (страница) на диске содержит более одной строки, поэтому более одной строки можно извлечь с помощью одной операции ввода-вывода.
Кстати: это верно и для других СУБД - некоторые оптимизации, такие как «сканирование только по индексу», не учитываются (но для SELECT * весьма маловероятно, что такая СУБД пойдет для «сканирования только по индексу»)