日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

李洪根关于[SQL]对于分页存储过程

發(fā)布時(shí)間:2023/11/27 生活经验 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 李洪根关于[SQL]对于分页存储过程 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
作者:李洪根? 微軟MVP

1。我個(gè)人認(rèn)為最好的分頁(yè)方法是:

Select?top?10?*?from?table?where?id>200

寫(xiě)成存儲(chǔ)過(guò)程,上面的語(yǔ)句要拼一下sql語(yǔ)句,要獲得最后大于的哪一個(gè)ID號(hào)


2。那個(gè)用游標(biāo)的方式,只適合于小數(shù)據(jù)量的表,如果表在一萬(wàn)行以上,就差勁了

你的存儲(chǔ)過(guò)程還比不上NOT IN分頁(yè),示例:

SELECT?Top?10?*?FROM?Customers?WHERE?Customerid?NOT?IN?(SELECT?TOP?20?Customerid?from?Customers?)
declare?@SQLStr?varchar(8000)
set?@SQLStr='SELECT?Top?'+cast(@每頁(yè)大小?as?varchar)+'?*?FROM?表?WHERE?主鍵列?NOT?IN?(SELECT?TOP?'+cast(@每頁(yè)大小*@第幾頁(yè)?as?varchar)+'?主鍵列?from?表?)'
exec(@SQLStr)



3。以下是我用存儲(chǔ)過(guò)程分頁(yè)的方式,分頁(yè)一個(gè)20萬(wàn)行的表,結(jié)果顯示在網(wǎng)頁(yè)中,你可以看一下速度:

http://www.bizlands.com/trade/search.asp?type=s&sortid=15


4。很久前,我說(shuō)過(guò)用sql的游標(biāo)

游標(biāo)是存放在內(nèi)存中,很費(fèi)內(nèi)存.

游標(biāo)一建立,就將相關(guān)的記錄鎖住,直到取消游標(biāo)

游標(biāo)提供了對(duì)特定集合中逐行掃描的手段,一般使用游標(biāo)來(lái)逐行遍歷數(shù)據(jù),根據(jù)取出數(shù)據(jù)條件的不同進(jìn)行不同的操作。而對(duì)于多表和大表中定義的游標(biāo)(大的數(shù)據(jù)集合)循環(huán)很容易使程序進(jìn)入一個(gè)漫長(zhǎng)的等待甚至死機(jī).

所以說(shuō),我個(gè)人的經(jīng)驗(yàn),就是一萬(wàn)上行上的表,不用游標(biāo).小數(shù)據(jù)量的表,適當(dāng)?shù)臅r(shí)候可以用游標(biāo)

因?yàn)橛螛?biāo),遍歷小數(shù)據(jù)量的行集還是不錯(cuò)的一個(gè)方法!


5。用臨時(shí)表自定義分頁(yè)和使用游標(biāo)自定義分頁(yè)都不好!


總結(jié)

以上是生活随笔為你收集整理的李洪根关于[SQL]对于分页存储过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。