我有一個從django queryset返回的大型數據集,我想遍歷它。我應該直接迭代查詢集還是將結果存儲在變量中並迭代它?我應該迭代Django查詢集或通過變量?
for item in Model.objects.all():
do_something()
或
results = item in Model.objects.all():
for item in results:
do_something()
據我所知,變量存儲在堆棧和安全,其中在迭代查詢集的情況下,其結果將被存儲在主存儲器中。
那麼哪一個在空間和速度上是有效的?
兩者都是相同的,但是如果你使用一個變量,它只需一行代碼,當你完成它將它保存在內存中,第二次它不查詢數據庫。所以你可以理解, – Exprator