При поиске данных с индексом база данных сначала ищет значение в индексе, а затем переходит к соответствующей строке таблицы, чтобы прочитать все остальные столбцы.
Если только строки таблицы не хранятся в том же порядке, что и значения в индексе, каждое такое чтение таблицы должно переходить на другую страницу.
Индексы ускоряют поиск, только если поиск сокращает количество строк. Если вы все равно будете читать все (или большинство) строк, сканирование таблицы будет намного быстрее.
Параллельное чтение будет более эффективным, только если диск действительно может обрабатывать дополнительный ввод / вывод. На вращающихся дисках дополнительные запросы только ухудшают ситуацию.
(SQLite пытается избежать сохранения временных результатов. Строки результатов вычисляются на лету (насколько это возможно), пока вы проходите через курсор.)