我們的項目處理大量的記錄,我們使用普通表,但只顯示更少數量的記錄給用戶。這意味着我們在後端有1500萬條記錄,但僅向用戶顯示1000條記錄。html表中的過濾器操作angularjs或服務器端
如果用戶想搜索特定的記錄,那麼他們可以使用過濾器操作。我們已經在angularjs中實現了過濾器功能,即創建了自定義服務來爲大型記錄執行過濾操作。問題是我們正在$ scope變量中保存巨大的記錄。
//$scope.filteredVldData is a array which contains 15 million records.
var result = filterService.filter($scope.filteredVldData);
//Filter Service
var filterApp = angular.module('filterModule', []);
filterApp.factory('filterService', function() {
return {
filter: function (filterData) {
//For Equals logic
//For not equals logic
//For Contains logic
}
}});
過濾器操作正常。它給出了預期的結果。我不確定是否在客戶端$ scope變量中保存1500萬條記錄以執行過濾器操作的好方法。
每個記錄有15列,所以我保持記錄在客戶端的巨大的大小。
由於記錄數量巨大,我計劃在服務器端移動過濾器邏輯,只要應用了過濾器,它就會進入後端並將結果綁定到表。
當考慮數百萬條記錄時,哪一個是在普通html表格中執行過濾操作的最佳方式?在客戶端還是服務器端?
是的,你是對的!該記錄只有很大(每記錄15列),所以對於1500萬條記錄來說它將是巨大的。那麼在這種情況下,我們可以繼續做像存儲過程那樣的後端過濾操作嗎? – SivaRajini
理想情況是的。你應該繼續。總存儲大小還取決於記錄每個字段的類型和大小,對於文本數據而言佔用的磁盤空間很小。當涉及到快速處理並返回結果時,問題更大。如果處理器和內存較少(如果服務器配置較低,則處理速度相同),所有這1500萬條記錄的處理將花費大量時間。 – Tushar