Я написал программу python, которая обрабатывает большое количество текста и помещает данные в многоуровневый словарь. В результате словарь становится действительно большим (2 ГБ или более), поглощает память и приводит к ошибке/ошибке памяти.Использование Python с sqlite3
Так что я ищу использовать sqlite3 вместо того, чтобы помещать данные в python dict.
Но подумайте об этом, весь db от sqlite3 должен быть доступен во время работы программы. Итак, в конце концов, не приведет ли это к тому же результату, когда память будет съедена большими db?
Извините, что мое понимание памяти немного неуклюжие. Я хочу, чтобы все было ясно, прежде чем я потрудился переносить свою программу на использование db.
Заранее спасибо.
Вы единственный, кто мог бы знать, поскольку это зависит от логики вашего приложения. Но в большинстве случаев достаточно сохранить индекс (ы) в памяти. –
@DekDekku Это обрабатывается автоматически модулем db или мне нужно указывать, чтобы сохранить только индексы? – ytrewq
Не знаю, SQLite, вы должны проверить документы, но он должен быть автоматическим: это так, как обычно работает. Индексы бесполезны, если они находятся на диске, в то время как данные обычно слишком велики, чтобы их можно было хранить в памяти целиком. –