簡體   English   中英

通過 API 拉取數據的更好方法?

[英]Better Way to Pull Data Through API?

所以我正在嘗試設計一個需要大量數據(10,000 行)的網絡應用程序。 然而,隨着時間的推移,這個數量將呈指數增長。 也許成幾十萬行。 我想描述兩種關於如何提取和呈現數據並獲得關於哪種方法總體上更快的建議的方法。 此外,使用 web 應用程序的人在服務器本地(非常低,如果有延遲)

第一種方法:

  • 對 API 進行一次調用,該 API 在初始應用程序加載時返回所有 10,000 行數據(使用 1 個大型存儲過程調用提取所有所需數據)
  • 使用 JavaScript 循環計算這些數據,並根據特定標准將其分為 20 個類別(還有 JS)
  • 當用戶單擊顯示的計數之一時,他們會看到一個頁面,其中列出了與該特定類別匹配的所有數據行。 (此步驟將非常快,因為所有行都已預加載)

第二種方法:

  • 進行初始 API 調用,根據特定條件僅返回每個類別的計數(在 sql server 上而不是 JS 上計數數據)當用戶單擊計數時,進行另一個 API 調用以僅返回與該特定類別關聯的行和數據(這意味着每個類別都有一個單獨的 SP)
  • 這意味着,每次他們點擊一個類別時,都會執行一個新的 API 調用,但數據負載會小得多

我的掛斷 - 第一種方法只需要 1 個 API 調用,但會一次性計算 JavaScript 中的所有數據,這意味着即使您不需要某些數據,它也會全部加載。

第二種方法需要多次調用API,但是統計SQL Server上的所有數據,只返回自己需要的數據。 進行大量單獨的 API 調用而不是 1 個大型 API 調用會減慢速度嗎?

恕我直言,你應該選擇第二個選項。 我不會看到性能問題。 基於類別的計數將很快,並且隨着服務器返回和處理的數量,下一次調用將更小。

重要的是要考慮一天內需要檢索這些數據的次數。 如果它是少數——比如最大 500 倍——選項 1 就可以了。 如果調用次數明顯高於此值,則選項 2 會更好。 您只需根據需要檢索一個子集。

暫無
暫無

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

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