Söz konusu tablo kabaca on milyon satır içermektedir.
for event in Event.objects.all():
print event
Bu, bellek kullanımının istikrarlı bir şekilde 4 GB'ye çıkmasına neden olur ve bu noktada satırlar hızla yazdırılır. İlk satırın yazdırılmasından önceki uzun gecikme beni şaşırttı - neredeyse anında yazdırmasını bekliyordum.
Event.objects.iterator()
Hangisinin de aynı şekilde davrandığını denedim .
Django'nun belleğe ne yüklediğini veya bunu neden yaptığını anlamıyorum. Django'nun veritabanı düzeyinde sonuçları yinelemesini bekliyordum, bu da sonuçların kabaca sabit bir oranda yazdırılacağı anlamına geliyordu (uzun bir beklemeden sonra hepsi birden yerine).
Neyi yanlış anladım?
(Alakalı olup olmadığını bilmiyorum ama PostgreSQL kullanıyorum.)