asp.net下經(jīng)典數(shù)據(jù)庫記錄分頁代碼
更新時間:2007年04月28日 00:00:00 作者:
1、
SELECT TOP PAGESIZE NEWSTITLE
FORM NEWSINFO WHERE NEWSID NOT IN
(SELECT TOP (PAGE-1)* PAGESIZE NEWSID FROM NEWSINFO
WHERE Auditing=1 and NEWSBREED='企業(yè)新聞' order by NEWSID DESC)
AND Auditing=1 and NEWSBREED='企業(yè)新聞' order by NEWSID DESC
其中:PAGE表示當(dāng)前頁數(shù),PAGESIZE表示頁的大小;這里利用了NOT IN,不復(fù)合SARG,但總比一次讀取全部的記錄要好的多。
2、符合 SARG的代碼
針對本人的實例還有一個更好的方案:因為NEWSID字段是自增字段,對于NOT IN 語句進行如下的改造,并不影響結(jié)果。但速度提高了很多
SELECT TOP PAGESIZE NEWSTITLE
FORM NEWSINFO WHERE NEWSID <
(SELECT MIN(NEWSID) FROM (SELECT TOP (PAGE-1) * PAGESIZE NEWSID FROM NEWSINFO WHERE Auditing=1 and NEWSBREED='企業(yè)新聞' order by NEWSID DESC) AS TB)AND Auditing=1 and NEWSBREED='企業(yè)新聞' order by NEWSID DESC
【說明】
對于在多處使用分頁功能的web 應(yīng)用程序,把SQL語句改為存儲過程將會更好。
請大家積極參與討論分頁的算法,并把好的方案與大家分享。
SELECT TOP PAGESIZE NEWSTITLE
FORM NEWSINFO WHERE NEWSID NOT IN
(SELECT TOP (PAGE-1)* PAGESIZE NEWSID FROM NEWSINFO
WHERE Auditing=1 and NEWSBREED='企業(yè)新聞' order by NEWSID DESC)
AND Auditing=1 and NEWSBREED='企業(yè)新聞' order by NEWSID DESC
其中:PAGE表示當(dāng)前頁數(shù),PAGESIZE表示頁的大小;這里利用了NOT IN,不復(fù)合SARG,但總比一次讀取全部的記錄要好的多。
2、符合 SARG的代碼
針對本人的實例還有一個更好的方案:因為NEWSID字段是自增字段,對于NOT IN 語句進行如下的改造,并不影響結(jié)果。但速度提高了很多
SELECT TOP PAGESIZE NEWSTITLE
FORM NEWSINFO WHERE NEWSID <
(SELECT MIN(NEWSID) FROM (SELECT TOP (PAGE-1) * PAGESIZE NEWSID FROM NEWSINFO WHERE Auditing=1 and NEWSBREED='企業(yè)新聞' order by NEWSID DESC) AS TB)AND Auditing=1 and NEWSBREED='企業(yè)新聞' order by NEWSID DESC
【說明】
對于在多處使用分頁功能的web 應(yīng)用程序,把SQL語句改為存儲過程將會更好。
請大家積極參與討論分頁的算法,并把好的方案與大家分享。
相關(guān)文章
Asp.net Web Api實現(xiàn)圖片點擊式圖片驗證碼功能
現(xiàn)在驗證碼的形式越來越豐富,今天要實現(xiàn)的是在點擊圖片中的文字來進行校驗的驗證碼。下面通過本文給大家分享Asp.net Web Api實現(xiàn)圖片點擊式圖片驗證碼功能,需要的的朋友參考下吧2017-06-06Entity Framework Core生成列并跟蹤列記錄
這篇文章介紹了Entity Framework Core生成列并跟蹤列記錄的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02Asp.Net中的Action和Func委托實現(xiàn)
這篇文章主要介紹了Asp.Net中的Action和Func委托的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12