当前位置:首页 > 系统运维 > 正文内容

SQL Server 2005数据库的2种分页sql语句的比较

a8116255316年前 (2010-07-19)系统运维7

此文章主要向大家讲述的是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语句的比较的介绍,望你能有所收获。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/22091.html

分享给朋友:

“SQL Server 2005数据库的2种分页sql语句的比较” 的相关文章

windows 7系统如何设置休眠时不断网以便继续完成下载

windows 7系统如何设置休眠时不断网以便继续完成下载

在Windows 7系统的默认设置中,当Windows 7系统处于休眠状态时,会同时断网的。如此一来,无论你正在使用迅雷还是快车等下载工具,同样可以在休眠状态下继续完成下载,最大限度做到从身边的小事开始支持环保。下面我们就详细介绍操作步骤,帮助Windows 7系统用户实现这一节能目标。 首先需要...

windows 7系统的电脑发出嘟嘟嘟的声音该怎么解决?

windows 7系统的电脑发出嘟嘟嘟的声音该怎么解决?

在某些电脑中,机器内部蜂鸣器与系统的声音输出方案是相关联的,这样一来会导致当系统输出声音时,即使电脑没有连接外部音响或耳机,也会通过内置蜂鸣器发出“嘟嘟哔哔”的声音。这个问题主要出现在Windows 7电脑中,假如你的电脑恰好遇到了这样的问题,可参考下面的方法来解决: 1、在桌面“计算机”图标上右...

windows 7系统开机提示press any key to restart的故障分析及解

windows 7系统开机提示press any key to restart的故障分析及解

Windows 7 64位系统开机后提示"press any key to restart",无法进入系统了,具体现象如下所示: 故障分析: 故障的主要原因还是硬盘的问题,可以先检查是不是接触不良或坏了,进行修复或更换即可。 解决方法: 1、开机按F8不动到高级选项出现在松手,选“...

Windows7开机后出现黑一下屏性能降低

Windows7开机后出现黑一下屏性能降低

打开IE浏览器的时候、聊QQ的时候、玩游戏的时候… … 这到底是谁惹的祸呢? 很多人都知道Windows 7桌面特效全部开启会使系统性能降低,那到底是哪个特效导致的这一情况呢? 解决办法: 右键计算机,高级系统设置-性能-设置-关闭”任务栏和开始菜单使用动画“和”最大化和最小化动态显示窗口“...

Win 7系统中其他声音正常但酷狗音乐没声音怎么回事

Win 7系统中其他声音正常但酷狗音乐没声音怎么回事

故障现象: Windows 7酷狗软件无声音,系统声音正常。 原因分析: 1. 查看酷狗软件设置 2. 查看系统设置 解决方案: 1. Windows 7操作方法 如图:查看是否处于禁音状态   Windows 7系统声音正常酷狗音乐无声音 2. 查看设置音频输出是否...

windows 7系统开机提示Windows驱动器未就绪的故障原因及解决方法

windows 7系统开机提示Windows驱动器未就绪的故障原因及解决方法

 故障分析: 主要原因应该是不存在软盘驱动器或驱动器未安装,找到故障原因后,Windows 7 32位系统只要将软盘驱动器禁用就可以了。 解决措施: 1、右键点击计算机,选择管理,打开计算机管理窗口; 2、在计算机管理中,找到设备管理器,在右边的软盘控制器中右击,选择卸载即可。 以...