如果查詢結(jié)果需要分頁,從效率上講,下面的效率應(yīng)該比較高(粉紅色表示需要根據(jù)實際情況填充的地方)
三類數(shù)據(jù)庫中進行分頁查詢的高效率方法(目前來看):
Oracle: SELECT * FROM (
SELECT MY_TABLE.*,ROWNUM AS MY_ROWNUM FROM (
/** 括號里寫實際的需要查詢的SQL語句**/
) AS MY_TABLE WHERE ROWNUM <=200/**這里是一頁中的最后一條記錄**/
) WHERE MY_ROWNUM>=10 /**這里是一頁中的第一條記錄**/
SQLServer: SELECT * FROM (
SELECT TOP 頁面容量 * FROM (
SELECT TOP 頁面容量*當前頁碼 * FROM
表 WHERE 條件 ORDER BY 字段A ASC
)AS TEMPTABLE1 ORDER BY 字段A DESC
) AS TEMPTABLE2 ORDER BY 字段A ASC
MYSQL: SELECT 語句 LIMIT 頁面的第一條記錄-1,頁面容量