asp.net下經(jīng)典數(shù)據(jù)庫(kù)記錄分頁(yè)代碼
更新時(shí)間: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)前頁(yè)數(shù),PAGESIZE表示頁(yè)的大小;這里利用了NOT IN,不復(fù)合SARG,但總比一次讀取全部的記錄要好的多。
2、符合 SARG的代碼
針對(duì)本人的實(shí)例還有一個(gè)更好的方案:因?yàn)镹EWSID字段是自增字段,對(duì)于NOT IN 語(yǔ)句進(jìn)行如下的改造,并不影響結(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
【說(shuō)明】
對(duì)于在多處使用分頁(yè)功能的web 應(yīng)用程序,把SQL語(yǔ)句改為存儲(chǔ)過(guò)程將會(huì)更好。
請(qǐng)大家積極參與討論分頁(yè)的算法,并把好的方案與大家分享。
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)前頁(yè)數(shù),PAGESIZE表示頁(yè)的大小;這里利用了NOT IN,不復(fù)合SARG,但總比一次讀取全部的記錄要好的多。
2、符合 SARG的代碼
針對(duì)本人的實(shí)例還有一個(gè)更好的方案:因?yàn)镹EWSID字段是自增字段,對(duì)于NOT IN 語(yǔ)句進(jìn)行如下的改造,并不影響結(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
【說(shuō)明】
對(duì)于在多處使用分頁(yè)功能的web 應(yīng)用程序,把SQL語(yǔ)句改為存儲(chǔ)過(guò)程將會(huì)更好。
請(qǐng)大家積極參與討論分頁(yè)的算法,并把好的方案與大家分享。
相關(guān)文章
記一次EFCore類型轉(zhuǎn)換錯(cuò)誤及解決方案
這篇文章主要介紹了記一次EFCore類型轉(zhuǎn)換錯(cuò)誤及解決方案,幫助大家更好的理解和學(xué)習(xí)使用asp.net core,感興趣的朋友可以了解下2021-03-03Asp.net Web Api實(shí)現(xiàn)圖片點(diǎn)擊式圖片驗(yàn)證碼功能
現(xiàn)在驗(yàn)證碼的形式越來(lái)越豐富,今天要實(shí)現(xiàn)的是在點(diǎn)擊圖片中的文字來(lái)進(jìn)行校驗(yàn)的驗(yàn)證碼。下面通過(guò)本文給大家分享Asp.net Web Api實(shí)現(xiàn)圖片點(diǎn)擊式圖片驗(yàn)證碼功能,需要的的朋友參考下吧2017-06-06Entity Framework Core生成列并跟蹤列記錄
這篇文章介紹了Entity Framework Core生成列并跟蹤列記錄的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02asp.net使用ashx生成圖形驗(yàn)證碼的方法示例
這篇文章主要介紹了asp.net使用ashx生成圖形驗(yàn)證碼的方法,結(jié)合實(shí)例形式分析了asp.net生成圖形驗(yàn)證碼的步驟、實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-07-07Asp.Net中的Action和Func委托實(shí)現(xiàn)
這篇文章主要介紹了Asp.Net中的Action和Func委托的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12