數(shù)據(jù)庫查詢的分頁優(yōu)化技巧
分頁瀏覽功能是常見的Web應用功能,對于MySQL數(shù)據(jù)庫來說可以很輕松的使用limit語句實現(xiàn)分頁,而對于SQL Server數(shù)據(jù)庫來說,常見的方法是使用數(shù)據(jù)集本身的游標實現(xiàn)分頁,這種方法對于少量數(shù)據(jù)來說沒什么問題,但是對于稍大一點的數(shù)據(jù)量,例如幾十萬條數(shù)據(jù),則查詢速度會降低很多,這里我介紹一種常用的技巧,只要簡單的重新構造一下查詢SQL語句,就能大幅提高查詢性能的方法。
在分頁算法中,影響查詢速度的關鍵因素在于返回數(shù)據(jù)集的大小,我們先在數(shù)據(jù)表中設置一個名為id的主鍵,數(shù)值為自增量的整數(shù),然后通過重構查詢SQL語句,就可以實現(xiàn)SQL查詢的優(yōu)化,重構的SQL如下所示:
select top 頁大小 * |
下面的JSP演示代碼中,intPageSize為頁大小,intPage為頁碼,id為主鍵,演示了操作一個t_Product表,并加入各類查詢條件之后的重構SQL的主要語句,經(jīng)過實際調(diào)試,經(jīng)過這樣簡單優(yōu)化后的SQL查詢速度遠遠高于優(yōu)化前的查詢速度。
String sql=" from t_Product where 1=1 and "; |
【編輯推薦】




















