大數據分頁實現與性能優化
摘要:Web 應用程序中經常使用數據分頁技術,該技術是提高海量數據訪問性能的主要手段。實現web數據分頁有多種方案,本文通過實際項目的測試,對多種數據分頁方案深入分析和比較,找到了一種更優的數據分頁方案Row_number()二分法。它依靠二分思想,將整個待查詢記錄分為2部分,使掃描的記錄量減少一半,進而還通過對數據表及查詢條件進行優化,實現了存儲過程的優化。根據Row_number()函數的特性,該方案不依賴于主鍵或者數字字段,大大提高了它在實際項目中的應用,使大數據的分頁效率得到了更顯著的提高。
關鍵詞:數據分頁;性能優化; web應用
中圖分類號: 文獻標識碼: 文章編號:
Big Data Paging Implementation and Performance Optimization
WangLing
(College of information science and technology of Shijiazhuang Railway University, Hebei Shijiazhuang 050043)
Web applications often use data paging technology, which is to imPRove the massive primary means of data access performance. Web data paging to achieve a variety of programs, this test through practical projects, a variety of data paging scheme in-depth analysis and comparison found a better data paging scheme Row_number () dichotomy, it relies on two points thoughts, the entire subject to query log is divided into two parts, so that scanned records reduced by half, and then through a data table and query optimization, optimized to achieve a stored procedure. According Row_number () function characteristics, the program does not depend on the primary key or a numeric field, greatly improving its practical application in the project, so that large data paging efficiency has been more significant increase.
KeyWords: data paging ; web application ; performance optimization
0引言
在web應用程序開發過程中,不可避免的要頻繁查詢數據庫中的數據。隨著互聯網的飛速發展,中大型系統的數據量變得龐大而復雜,要提高系統的響應性能,就需要降低客服端和服務器端數據的傳輸量,因此大數據分頁的功能不可或缺。若選擇一個不合理的數據分頁方案,大數據在查詢時就會引發網絡資源嚴重浪費【1】,網站擁堵,查詢界面等待時間過長等一系列嚴重影響系統性能的問題。所以,一個有效的大數據分頁方案對于系統的性能而言至關重要。解決大數據分頁的問題,不同的人會采用不同的方法,其訪問性能各有優劣。筆者通過比較多種分頁研究方案【2】,根據實際案例的測試結果,綜合分析各種分頁方案的利弊,揚長避短,最終找到一種更優于以往的分頁方案,Row_number()二分法。二分思想在計算機中早有應用,二分查找算法就是二分思想的具體體現,將它引入到存儲過程中,依靠二分法的思想,對Row_number()存儲過程分頁進行優化設計,從而加快查詢速度,提高大數據的分頁效率。
1 動態網頁數據分頁
Web數據分頁是基于降低數據傳輸量來提高服務響應時間的分頁方法。但是不同的數據分頁方法,帶給Web主機的系統I/O訪問性能是不同的。無論是java平臺,還是.NET平臺,對數據的分頁都提供了多種方法,主要分為2大類:一類是內存數據分頁,一類是數據源分頁。
1.1內存數據分頁
所謂內存數據分頁【3】就是當客戶端向 Web服務器發出查詢請求時,Web 服務器響應請求并構建 SQL 語句發送到數據庫服務器,數據庫服務器執行 SQL 語句并返回整個結果集給 Web 服務器,Web 服務器再執行內存數據分頁操作并把該頁數據發往客戶端,完成一次查詢。內存數據分頁的流程如圖1所示:
新聞熱點
疑難解答