好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > MSSQL MySQL 數據庫分頁(存儲過程)

MSSQL MySQL 數據庫分頁(存儲過程)

熱門標簽:陜西電銷外呼系統好用嗎 最新人工智能電銷機器人 成都電話外呼系統一般多少錢 如何做地圖標注圖鋪 沒聽見電話機器人幫你接 蘭州語音外呼系統運營商 al智能電話機器人 數字匠心電銷機器人 銀川高頻外呼回撥系統多少錢
先看看單條 SQL 語句的分頁 SQL 吧。

方法1:
適用于 SQL Server 2000/2005
復制代碼 代碼如下:

SELECT TOP 頁大小 *
FROM table1
WHERE id NOT IN
(
SELECT TOP 頁大小*(頁數-1) id FROM table1 ORDER BY id
)
ORDER BY id

方法2:
適用于 SQL Server 2000/2005
復制代碼 代碼如下:

SELECT TOP 頁大小 *
FROM table1
WHERE id >
(
SELECT ISNULL(MAX(id),0)
FROM
(
SELECT TOP 頁大小*(頁數-1) id FROM table1 ORDER BY id
) A
)
ORDER BY id

方法3:
適用于 SQL Server 2005
復制代碼 代碼如下:

SELECT TOP 頁大小 *
FROM
(
SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM table1
) A
WHERE RowNumber > 頁大小*(頁數-1)

方法4:
適用于 SQL Server 2005
復制代碼 代碼如下:

row_number() 必須制定 order by ,不指定可以如下實現,但不能保證分頁結果正確性,因為排序不一定可靠。可能第一次查詢記錄A在第一頁,第二次查詢又跑到了第二頁。
declare @PageNo int ,@pageSize int;
set @PageNo = 2
set @pageSize=20
select * from (
select row_number() over(order by getdate()) rn,* from sys.objects)
tb where rn >(@PageNo-1)*@pageSize and rn =@PageNo*@pageSize

還有一種方法就是將排序字段作為變量,通過動態SQL 實現,可以改成存儲過程。
復制代碼 代碼如下:

declare @PageNo int ,@pageSize int;
declare @TableName varchar(128),@OrderColumns varchar(500), @SQL varchar(max);
set @PageNo = 2
set @pageSize=20
set @TableName = 'sys.objects'
set @OrderColumns = 'name ASC,object_id DESC'
set @SQL = 'select * from (
select row_number() over(order by '+@OrderColumns+' ) rn,* from ' +@TableName+')tb where rn >'+convert(varchar(50),(@PageNo-1)*@pageSize) +' and rn = '+convert(varchar(50),@PageNo*@pageSize)
print @SQL
exec(@SQL)

方法5:(利用SQL的游標存儲過程分頁)
適用于 SQL Server 2005
復制代碼 代碼如下:

create procedure SqlPager
@sqlstr nvarchar(4000), --查詢字符串
@currentpage int, --第N頁
@pagesize int --每頁行數
as
set nocount on
declare @P1 int, --P1是游標的id
@rowcount int
exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
select ceiling(1.0*@rowcount/@pagesize) as 總頁數--,@rowcount as 總行數,@currentpage as 當前頁
set @currentpage=(@currentpage-1)*@pagesize+1
exec sp_cursorfetch @P1,16,@currentpage,@pagesize
exec sp_cursorclose @P1
set nocount off

方法5:(利用MySQL的limit)
適用于 MySQL
mysql中limit的用法詳解[數據分頁常用]
在我們使用查詢語句的時候,經常要返回前幾條或者中間某幾行數據,這個時候怎么辦呢?不用擔心,mysql已經為我們提供了這樣一個功能。
復制代碼 代碼如下:

select * from table limit [offset,] rows | rows offset offset
limit 子句可以被用于強制 select 語句返回指定的記錄數。limit 接受一個或兩個數字參數。參數必須是一個整數常量。如果給定兩個參數,第一個參數指定第一個返回記錄行的偏移量,第二個參數指定返回記錄行的最大數目。初 始記錄行的偏移量是 0(而不是 1): 為了與 postgresql 兼容,mysql 也支持句法: limit # offset #。
mysql> select * from table limit 5,10; // 檢索記錄行 6-15
//為了檢索從某一個偏移量到記錄集的結束所有的記錄行,可以指定第二個參數為 -1:
mysql> select * from table limit 95,-1; // 檢索記錄行 96-last.
//如果只給定一個參數,它表示返回最大的記錄行數目:
mysql> select * from table limit 5; //檢索前 5 個記錄行
//換句話說,limit n 等價于 limit 0,n。
1. select * from tablename 條件語句> limit 100,15
從100條記錄后開始取15條 (實際取取的是第101-115條數據)
2. select * from tablename 條件語句> limit 100,-1
從第100條后開始-最后一條的記錄
3. select * from tablename 條件語句> limit 15
相當于limit 0,15 .查詢結果取前15條數據
說明,頁大小:每頁的行數;頁數:第幾頁。使用時,請把"頁大小"和"頁大小*(頁數-1)"替換成數字。

其它的方案:如果沒有主鍵,可以用臨時表,也可以用方案三做,但是效率會低。
建議優化的時候,加上主鍵和索引,查詢效率會提高。

通過SQL 查詢分析器,顯示比較:我的結論是:
分頁方案二:(利用ID大于多少和SELECT TOP分頁)效率最高,需要拼接SQL語句
分頁方案一:(利用Not In和SELECT TOP分頁) 效率次之,需要拼接SQL語句
分頁方案三:(利用SQL的游標存儲過程分頁) 效率最差,但是最為通用
您可能感興趣的文章:
  • MySQL百萬級數據分頁查詢優化方案
  • mysql千萬級數據分頁查詢性能優化
  • MySQL百萬級數據量分頁查詢方法及其優化建議
  • MySQL單表百萬數據記錄分頁性能優化技巧
  • MySQL 千萬級數據量如何快速分頁
  • MySQL學習筆記之數據定義表約束,分頁方法總結
  • Mysql 如何實現多張無關聯表查詢數據并分頁
  • 淺談MySQL 億級數據分頁的優化

標簽:通化 邢臺 朔州 宜春 本溪 遼源 鹽城 巴彥淖爾

巨人網絡通訊聲明:本文標題《MSSQL MySQL 數據庫分頁(存儲過程)》,本文關鍵詞  MSSQL,MySQL,數據庫,分頁,存儲,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MSSQL MySQL 數據庫分頁(存儲過程)》相關的同類信息!
  • 本頁收集關于MSSQL MySQL 數據庫分頁(存儲過程)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 欧美xxxx做受欧美69| 白俄罗斯特黄一级毛片| 激情gif动态图第120期| 91精品手机国产免费| 国产一级a毛一级a做免费的视频l 国产一级a爱做片免费观看人与生 | 欧美成人看片一区二区三区尤物| 操你拉| 少妇口述3p刺激经历| 外国做爰猛烈床戏大尺度| 亚洲日本欧美产综合在线| 女性扒开大腿露出私密部位| 女同做爰HD免费看| 91人妻精品一区二区三| 3p的真实经历小黄后续| 男人操女人的逼的视频| 亚洲天堂影视| 真人一级毛片免费播放下载大全| 欧美AV色香蕉一区二区超碰| 国模冰莲的全部艳照| 国产精品超清大白屁股| 久久99网站| 校长猛挺进小莹的体内| 动漫艳妇荡乳欲伦麻麻| 裸体之夜| 飘摇人生电视剧免费观看| 双性少年的假期(H)| 182tv在线182tv免费观看| 轻一点老师好久没有做了| 天堂在线视频tv| 欧美中文在线| 别c我?啊?嗯上课呢高H酒店 | 韩国r级三级在线观看大尺度| 国产女女互摸互慰在线观看| 粉嫩影院| 16美女偷拍秘?洗澡| 色婷婷一区二区| 久色一区| 性欧美xxxxporn| 国语92国语92午夜福利2000| 欧美一区二区三区激情视频张柏芝| 91免费精品国自产拍在线不卡|