Я перебираю результат большого оператора SELECT (100 ГБ данных) и понял, что результаты кэшируются, когда я перебираю курсор, до точки, где моя память исчерпана.
Мой код выглядит примерно так:
cursor.execute("SELECT * FROM table1 INNER JOIN table2 ON table1.id=table2.id")
for row in cursor:
# do something
pass
Есть ли способ предотвратить кэширование результатов в sqlite? Я пытался установить PRAGMA cache_size = 0, но это не решает проблему.
Есть старый ТАК вопрос , который похож, но не получил никакого полезного ответа.