2013-05-08 154 views
-1

考慮應用程序中有UI,業務和數據庫層。需求是UI將通過業務層請求並顯示從數據庫層獲取的數據。對於這一特定要求,數據大約有10000條記錄。你將如何解決這個問題?通過一次數據庫調用將所有10000條記錄一次性傳送到用戶界面,還是通過多次數據庫調用逐個獲取記錄,會更好嗎?數據傳輸體系結構設計

在此先感謝。

+0

完全取決於你對它做什麼以及每個記錄有多大,如果你返回10000個整數,例如增加更多的複雜性是不明智的,但是如果你返回10000個二進制數組,你可能會需要重新考慮 – RoughPlace 2013-05-08 12:27:15

+0

缺少很多信息來製作優秀的作文。如果你需要顯示一切,那麼1個查詢可能是好的。如果您一次只顯示幾百條記錄,那麼拉一切可能不是一個好主意。 – 2013-05-10 17:58:13

回答

0

對不起,我的英語不是我的母語。

你忘了提及你的應用程序將在哪裏運行。因爲在這種情況下很重要。 如果這將運行在內聯網,手機,互聯網,如果使用這個應用程序的設備有足夠的內存來處理這麼多的記錄,連接的速度......很多變數你沒有考慮... 我考慮當地的接入和辦公硬件,拿到10000不是問題,但對於使用3G的移動可能是。 因此,您需要在您的問題中添加更多變量並進行平衡,以滿足您的建築設計的真實需求或接近需求。 乾杯

+0

謝謝安德烈的建議。問題中提到的應用程序類型是「基於Web」。如果網站有很多來自用戶的請求,那麼每個請求將得到10000條記錄的響應,這將是什麼方法。 – prash7 2013-05-09 05:02:51

+0

我認爲你需要計算數據的大小和訪問的平均速度,可以說大約是10000條記錄* 512個Byets每個會給你大約5120000字節或者640KB或者比「半兆字節」多一點,這取決於連接速度可能非常慢。我認爲最好的做法是對數據庫進行多次調用,獲取大約5到10倍的顯示記錄數。如果您的應用顯示10行可以獲取50到100條記錄。您也可以進行更具體的搜索,以獲得儘可能最低的結果。 – 2013-05-09 14:44:50