Я хочу прочитать все строки в таблице, используя system.data.sqlite. Поскольку у меня очень большая таблица (> 450 ГБ, с> 6 миллиардами строк), я хочу быть уверен, что sqlite будет использовать последовательный доступ к диску. Как вы знаете, произвольный доступ к жесткому диску медленный. Из-за ограничений памяти я не могу загрузить все данные сразу. Таким образом, оптимальным способом было бы, если sqlite читает несколько сотен МБ (последовательно), затем я работаю с этими данными, а sqlite читает следующие.
Как я могу быть уверен, что sqlite будет обращаться к диску таким образом, а не прыгать с одной позиции на жестком диске на другую?
Вещи, которые я знаю (я думаю, что эти предложения появятся):
- Лучше использовать другую СУБД. Но я хочу / должен решить это с помощью этого.
- Я знаю, что головка диска будет размещена ОС на других данных, пока я работаю с данными. Это не имеет значения. Просто последовательно будет считано несколько сотен МБ.
- Я не хочу/могу разбивать файл базы данных на более мелкие части
Я нашел этот пост, но он неправильно решает мою проблему:
items-in-sqlite">Какой самый быстрый способ получить все элементы в SQLite?