Posted on 2008-10-23 22:39
夢與橋 閱讀(430)
評論(0) 編輯 收藏 所屬分類:
jsp程序設計
第一種方法是用select語句查詢出所有的數(shù)據(jù),再通過移動當前記錄指針到當前頁面需要顯示的數(shù)據(jù)記錄位置,再作顯示。優(yōu)點是程序比較簡單,由于查詢出來的結(jié)果較大,網(wǎng)絡開銷也較大。
第二種方法是先用一條select語句得到SQL查詢的記錄條數(shù),因為數(shù)據(jù)庫存執(zhí)行"select count(*)"運算的速度是很快的,返回的數(shù)據(jù)集也僅一條記錄,此開銷可忽略不記。得到總記錄數(shù)后,再計算出當前頁面要顯示的數(shù)據(jù)的SQL查詢結(jié)果的起始位置和結(jié)束位置,再用SQL語句查詢出當前頁的數(shù)據(jù)。這種方法編寫的程序的量相對較多,得到的數(shù)據(jù)量也相對較小,運行效率比第一種高,但并不能從根本上優(yōu)化數(shù)據(jù)庫的SQL查詢,也不能從根本上解決網(wǎng)絡開銷大的問題。
第三種方法是使用存儲過程。存儲過程在數(shù)據(jù)庫中會作預編譯處理,所以執(zhí)行速度較快。在JSP頁面中要設定每頁記錄條數(shù)、當前的頁碼等參數(shù),再將這些參數(shù)在調(diào)用存儲過程時傳入到存儲過程中,由存儲過程執(zhí)行后得到指定頁指定數(shù)目的記錄數(shù)。這種方法優(yōu)點燭效率最高,網(wǎng)絡開銷小,缺點不是程序員需要編寫較多的程序,針對每個查詢要編寫不同的存儲過程。