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