Рассматриваемая таблица содержит примерно десять миллионов строк.
for event in Event.objects.all():
print event
Это приводит к неуклонному увеличению использования памяти до 4 ГБ или около того, после чего строки печатаются быстро. Длительная задержка перед печатью первой строки меня удивила - я ожидал, что она будет распечатана почти мгновенно.
Я также попробовал Event.objects.iterator ()
, который вел себя точно так же.
Я не делаю » Я не понимаю, что Django загружает в память или почему он это делает. Я ожидал, что Django будет перебирать результаты на уровне базы данных, что означало бы, что результаты будут выводиться примерно с постоянной скоростью (а не все сразу после длительного ожидания).
Что я неправильно понял?
(Не знаю, актуально ли это, но я использую PostgreSQL.)