Розглянута таблиця містить приблизно десять мільйонів рядків.
for event in Event.objects.all():
print event
Це призводить до того, що використання пам'яті постійно збільшується до 4 Гб або близько того, після чого рядки швидко друкуються. Тривала затримка перед друком першого ряду мене здивувала - я очікував, що він надрукується майже миттєво.
Я також спробував, Event.objects.iterator()
що поводився так само.
Я не розумію, що Django завантажує в пам'ять або чому це робить. Я очікував, що Джанго повторить результати на рівні бази даних, що означатиме, що результати будуть надруковані приблизно з постійною швидкістю (а не відразу відразу після тривалого очікування).
Що я неправильно зрозумів?
(Я не знаю, чи це актуально, але я використовую PostgreSQL.)