一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP教程 - ASP 千萬級數據分頁的存儲過程

ASP 千萬級數據分頁的存儲過程

2019-09-16 11:09asp之家 ASP教程

經測試,在 14483461 條記錄中查詢第 100000 頁,每頁 10 條記錄按升序和降序第一次時間均為 0.47 秒,第二次時間均為 0.43 秒

測試語法如下:powered by m.ythuaji.com.cn
exec GetRecordFromPage news,newsid,10,100000 
news 為 表名, newsid 為關鍵字段, 使用時請先對 newsid 建立索引。

復制代碼代碼如下:


/* 
函數名稱: GetRecordFromPage 
函數功能: 獲取指定頁的數據 
參數說明: @tblName 包含數據的表名 
@fldName 關鍵字段名 
@PageSize 每頁記錄數 
@PageIndex 要獲取的頁碼 
@OrderType 排序類型, 0 - 升序, 1 - 降序 
@strWhere 查詢條件 (注意: 不要加 where) 
作  者: 鐵拳 
郵  箱: [email protected] 
創建時間: 2006-07-04 
修改時間: 2006-07-04 
*/ 
CREATE PROCEDURE GetRecordFromPage 
@tblName varchar(255), -- 表名 
@fldName varchar(255), -- 字段名 
@PageSize int = 10, -- 頁尺寸 
@PageIndex int = 1, -- 頁碼 
@OrderType bit = 0, -- 設置排序類型, 非 0 值則降序 
@strWhere varchar(2000) = '' -- 查詢條件 (注意: 不要加 where) 
AS 

declare @strSQL varchar(6000) -- 主語句 
declare @strTmp varchar(1000) -- 臨時變量 
declare @strOrder varchar(500) -- 排序類型 

if @OrderType != 0 
begin 
set @strTmp = '<(select min' 
set @strOrder = ' order by [' + @fldName + '] desc' 
end 
else 
begin 
set @strTmp = '>(select max' 
set @strOrder = ' order by [' + @fldName +'] asc' 
end 

set @strSQL = 'select top ' + str(@PageSize) + ' * from [' 
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '([' 
+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' [' 
+ @fldName + '] from [' + @tblName + ']' + @strOrder + ') as tblTmp)' 
+ @strOrder 

if @strWhere != '' 
set @strSQL = 'select top ' + str(@PageSize) + ' * from [' 
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '([' 
+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' [' 
+ @fldName + '] from [' + @tblName + '] where ' + @strWhere + ' ' 
+ @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder 

if @PageIndex = 1 
begin 
set @strTmp = '' 
if @strWhere != '' 
set @strTmp = ' where (' + @strWhere + ')' 

set @strSQL = 'select top ' + str(@PageSize) + ' * from [' 
+ @tblName + ']' + @strTmp + ' ' + @strOrder 
end 

exec (@strSQL) 

GO 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲成年男人的天堂网 | 骚虎tv| freehd182d动漫| 国产精品免费精品自在线观看 | 青青在线视频免费 | 喜欢老头吃我奶躁我的动图 | 精品牛牛影视久久精品 | 免费一级特黄特色大片 | 女人张开腿让男人桶爽 | 欧美日韩亚洲另类人人澡 | sxx免费看观看美女 sss亚洲国产欧美一区二区 | 69pao强力打造免费高速 | pron在线观看| 五月天色综合 | 天仙tv微福视频 | 精品亚洲综合在线第一区 | 亚洲久草在线 | 免费观看在线永久免费xx视频 | 精品一区二区免费视频蜜桃网 | 国产欧美成人免费观看 | 欧美精品一区二区三区免费 | 欧美18一videos极品 | 青青久久精品国产免费看 | 1769在线观看 | 亚洲国产五月综合网 | 草草精品视频 | 91精品91久久久久久 | 猫咪社区免费资源在线观看 | 国产精品久久久久久久福利院 | 97国产精品久久碰碰牛牛 | 欧美日韩国产在线一区 | 天堂网站天堂小说 | 国产精彩视频 | 久久三级网站 | 国产成人精品一区二区不卡 | 暖暖日本在线观看免费 | 人妖欧美一区二区三区四区 | 欧美性野久久久久久久久 | 91色香sxmv最网页版新地址 | 啾咪成人漫画免费 | 视频免费观看在线播放高清 |