簡體   English   中英

Django在表中存儲大量數據

[英]Django storing a lot of data in table

現在,我使用此代碼將數據保存到數據庫中-

for i in range(len(companies)):
    for j in range(len(final_prices)):
      linechartdata = LineChartData()
      linechartdata.foundation = company //this refers to a foreign-key of a different model
      linechartdata.date = finald[j]
      linechartdata.price = finalp[j]
      linechartdata.save()

現在len(companies)可以在[3-50]之間變化, len(final_prices)可以在[5000-10000]之間變化。 我知道將其存儲在數據庫中的方法效率很低,並且花費大量時間。 我應該怎么做才能使其有效並減少時間?

如果確實需要將它們存儲在數據庫中,則可以檢查bulk_create 從文件:

此方法以一種有效的方式(通常只有1個查詢,無論有多少個對象)將提供的對象列表插入數據庫:

雖然,我從來沒有親自使用過這么多對象,但是文檔說它可以。 這可以使您的代碼在命中數據庫和使用多個save()方面更加高效。

基本上嘗試; 創建對象列表(不保存),然后使用bulk_create 像這樣:

arr = []
for i in range(len(companies)):
    for j in range(len(final_prices)):
        arr.append(
           LineChartData(
              foundation = company,
              date = finald[j],
              price = finalp[j]
            )
        )
LineChartData.objects.bulk_create(arr)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM