簡體   English   中英

Django 數據表加載時間過長

[英]Django Datatables taking too long to load

我正在嘗試將 25600 行加載到數據表中,但大約需要 10 秒。 該請求是通過 ajax API 調用進行的。

視圖.py

@api_view()
def get_all_data(request):


get_all_data_ = Data.objects.values("name","contact_number","email_address","address","age",
"location_type","sector","phase","total_data","total_usage","city","district")
                 

return JsonResponse(list(get_all_data_), safe=False)

模板.html

var table = $('#data-table').DataTable({

                serverSide: true,

                "ajax": {
                "url": "/alldata/",
                "dataSrc": ""
                },

              "columns": [

                  {"data": "name"},
                  {"data": "contact_number"},
                  {"data": "email_address"},
                  {"data": "address"},
                  {"data": "age"},
                  {"data": "location_type"},
                  {"data": "sector"},
                  {"data": "phase"},
                  {"data": "total_data"},
                  {"data": "total_usage"},
                  {"data": "city"},
                  {"data": "district"}
                 
              ],

        
          });

我怎樣才能讓它瞬間完成?

我會怎么做:

  • 我會添加分頁(如@Willem Van Onsem 建議的那樣)只需加載前 100 個(例如)樣本並添加鏈接以在表格上分頁(下一個/上一個)。 看看 Django分頁器
  • 如果你想顯示關於整個數據集的一些信息,我會計算描述數據的統計數據並顯示它而不是整個數據。 例如平均值或中值...

如果你真的想讓整張桌子更快:

  • 您可以嘗試使用更快的服務器(也許會有所幫助),
  • 您可以嘗試緩存它,也許將數據存儲在內存中,這樣您就不需要為每個請求運行數據庫查詢(但您需要記住刷新/驗證緩存)。

暫無
暫無

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

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