SQL Server 2005數據庫的2種分頁sql語句的比較
此文章主要向大家講述的是SQL Server 2005數據庫的2種分頁sql語句的比較,我們是在以下的平臺和環境中對其進行比較的,即 CPU:Intel(R) Pentium(R) Dual T2390 1.86GHz 內存:1G(系統正常啟動后約占300M空間) 。
硬盤:SATA 160G 8M Cache
系統:windowsxp+Sql Server 2005 sp2
測試數據:共100萬條
分頁測試代碼:
1)row_number的兩種分頁方式:分別用top和between過濾
2)包含子查詢結果的三種分頁方式
共5種方式。
SQL Server 2005數據庫的幾種分頁sql語句的比較方式1:
每頁顯示200條
分頁至10萬條之后的第兩百條記錄
- Java代碼
- PROCEDURE [dbo].[proc_select_moauser1]
- AS
- BEGIN
- SET NOCOUNT ON;
- declare @tdiff datetime
- set @tdiff=getdate()
- select top 200 * from(select row_number() over(order by uid asc) as rownumber,* from moa_user ) as tb where rownumber>100000
- select datediff(ms,@tdiff,getdate()) as '耗時(毫秒)'
- END
- PROCEDURE [dbo].[proc_select_moauser1]
- AS
- BEGIN
- SET NOCOUNT ON;
- declare @tdiff datetime
- set @tdiff=getdate()
- select top 200 * from(select row_number() over(order by uid asc) as rownumber,* from moa_user ) as tb where rownumber>100000
- select datediff(ms,@tdiff,getdate()) as '耗時(毫秒)'
- END
- 響應時間:156ms-210ms
SQL Server 2005數據庫的幾種分頁sql語句的比較方式2:
每頁顯示200條
分頁至10萬條之后的第兩百條記錄
- Java代碼
- PROCEDURE [dbo].[proc_select_moauser2]
- AS
- BEGIN
- -- SET NOCOUNT ON added to prevent extra result sets from
- -- interfering with SELECT statements.
- SET NOCOUNT ON;
- -- Insert statements for procedure here
- declare @tdiff datetime
- set @tdiff=getdate()
- select * from(select row_number() over(order by uid asc) as rownumber,* from moa_user ) as tb where rownumber between 100000 and 100200
- select datediff(ms,@tdiff,getdate()) as '耗時(毫秒)'
- END
- PROCEDURE [dbo].[proc_select_moauser2]
- AS
- BEGIN
- -- SET NOCOUNT ON added to prevent extra result sets from
- -- interfering with SELECT statements.
- SET NOCOUNT ON;
- -- Insert statements for procedure here
- declare @tdiff datetime
- set @tdiff=getdate()
- select * from(select row_number() over(order by uid asc) as rownumber,* from moa_user ) as tb where rownumber between 100000 and 100200
- select datediff(ms,@tdiff,getdate()) as '耗時(毫秒)'
- END
響應時間:153ms-176ms,以上的相關內容就是對SQL Server 2005數據庫的幾種分頁sql語句的比較的介紹,望你能有所收獲。
【編輯推薦】
- SQL Server Compact中的DLL文件與工具
- SQL Server合并復制性能的提高有哪些方案?
- SQL Serverlink Oracle的幾種不同方式
- Eclipse連接SQL Server 2000的步驟與易出現的問題
- 遇到SQL Server 2000Bug不可怕!