Tabel tersebut berisi kira-kira sepuluh juta baris.
for event in Event.objects.all():
print event
Hal ini menyebabkan penggunaan memori terus meningkat hingga 4 GB atau lebih, pada saat itu baris dicetak dengan cepat. Penundaan yang lama sebelum baris pertama dicetak mengejutkan saya - saya berharap itu dicetak hampir seketika.
Saya juga mencoba Event.objects.iterator()
yang berperilaku sama.
Saya tidak mengerti apa yang sedang dimuat Django ke dalam memori atau mengapa ia melakukan ini. Saya mengharapkan Django mengulang melalui hasil pada tingkat basis data, yang berarti hasil akan dicetak secara kasar pada tingkat yang konstan (daripada sekaligus setelah menunggu lama).
Apa yang telah saya salah paham?
(Saya tidak tahu apakah itu relevan, tetapi saya menggunakan PostgreSQL.)