- 浏览: 565099 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (350)
- Sybase (30)
- SQL SERVER2005 (14)
- 数据库 (27)
- SSH框架 (27)
- WebService (21)
- 下载-软件收藏 (15)
- 随笔-日常使用 (9)
- Flex 相关 (13)
- Linux (11)
- Web (64)
- XML相关 (9)
- Socket相关 (1)
- Elipse (3)
- 统计报表 (11)
- 线程相关 (3)
- Java相关 (37)
- JAVASCRIPT (19)
- JAVA反射 (3)
- JSP标签 (3)
- 随笔-其他 (2)
- 随笔-设计模式 (3)
- 随笔-架构师相关 (1)
- 下载-源码 (7)
- 下载-帮助文档 (1)
- 下载-插件 (6)
- 技术-.NET (2)
- 技术-Excel VBA (8)
- 应用-地图相关 (2)
- 应用-GSM短信猫 (5)
- 应用-单点登录 (3)
- Android相关 (3)
最新评论
-
sucheng2016:
发现jconn4.jar 里面有getBlob(String) ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver -
sucheng2016:
java.lang.UnsupportedOperationE ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver -
ok123zxx:
没下文了吗
通过 Tomcat Advanced I/O 获得高性能的 Ajax tocmat6+CometProcessor -
q1345111:
大家这个问题 尚未完成方法 com.sybase.jdbc3. ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver -
bdk82924:
heshujing217187 写道问题同1楼一样,求解!换j ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver
转自:http://www.iteye.com/topic/230211
平台与环境:
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种方式。
方式1:
每页显示200条
分页至10万条之后的第两百条记录
- 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
方式2:
每页显示200条
分页至10万条之后的第两百条记录
- 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
方式3
每页显示200条
分页至10万条之后的第两百条记录
- PROCEDURE [dbo].[proc_select_moauser3]
- AS
- BEGIN
- -- SET NOCOUNT ON added to prevent extra result sets from
- -- interfering with SELECT statements.
- SET NOCOUNT ON;
- declare @tdiff datetime
- set @tdiff=getdate()
- select top 200 * from moa_user a where uid not in(select top 100000 uid from moa_user b order by uid)
- select datediff(ms,@tdiff,getdate()) as '耗时(毫秒)'
- END
PROCEDURE [dbo].[proc_select_moauser3] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; declare @tdiff datetime set @tdiff=getdate() select top 200 * from moa_user a where uid not in(select top 100000 uid from moa_user b order by uid) select datediff(ms,@tdiff,getdate()) as '耗时(毫秒)' END
响应时间:270ms-290ms
方式4:
每页显示200条
分页至10万条之后的第两百条记录
- PROCEDURE [dbo].[proc_select_moauser4]
- AS
- BEGIN
- -- SET NOCOUNT ON added to prevent extra result sets from
- -- interfering with SELECT statements.
- SET NOCOUNT ON;
- declare @tdiff datetime
- set @tdiff=getdate()
- -- Insert statements for procedure here
- select * from ( select TOP 200 * FROM ( SELECT TOP 100000 * from moa_user ORDER BY uid ASC ) as amoaUser ORDER BY uid DESC ) as bmoaUser ORDER BY uid ASC
- select datediff(ms,@tdiff,getdate()) as '耗时(毫秒)'
- END
PROCEDURE [dbo].[proc_select_moauser4] AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; declare @tdiff datetime set @tdiff=getdate() -- Insert statements for procedure here select * from ( select TOP 200 * FROM ( SELECT TOP 100000 * from moa_user ORDER BY uid ASC ) as amoaUser ORDER BY uid DESC ) as bmoaUser ORDER BY uid ASC select datediff(ms,@tdiff,getdate()) as '耗时(毫秒)' END
响应时间:950ms
方式5:
每页显示200条
分页至10万条之后的第两百条记录
- PROCEDURE [dbo].[proc_select_moauser5]
- 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()
- -- Insert statements for procedure here
- SELECT TOP 200 * FROM moa_user WHERE (uid > (SELECT MAX(uid) FROM (SELECT TOP 100000 uid FROM moa_user ORDER BY uid) AS temp_moa_user)) ORDER BY uid
- select datediff(ms,@tdiff,getdate()) as '耗时(毫秒)'
- END
PROCEDURE [dbo].[proc_select_moauser5] 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() -- Insert statements for procedure here SELECT TOP 200 * FROM moa_user WHERE (uid > (SELECT MAX(uid) FROM (SELECT TOP 100000 uid FROM moa_user ORDER BY uid) AS temp_moa_user)) ORDER BY uid select datediff(ms,@tdiff,getdate()) as '耗时(毫秒)' END
响应时间:135ms
发表评论
-
Mysql 的语法
2015-05-17 20:54 5351、启动 停止 bin/mysql.server star ... -
DbUtils的使用
2013-01-28 19:56 1254DbUtils的使用 今天在看一段源码的时候,看到了可以使用 ... -
NoSQL非关系型数据库
2013-01-22 15:39 942转:http://baike.baidu.com/view/2 ... -
mysql 导入导出函数、存储过程
2012-06-22 16:20 2947mysql常用导出数据命令: 1.mysql导出整个数 ... -
JDBC分页工具类
2012-02-01 15:37 1185转自:http://xdwangiflytek.iteye.c ... -
几种数据库的SQL判断表是否存在
2012-02-01 15:35 953Oracle: declarevar_exis ... -
Oracle中实现分页的方法 .
2011-12-12 09:27 1354转:http://blog.csdn.net/andkylee ... -
转:ASE中数据结果集分页功能的三种实现方法 .
2011-12-12 09:26 1137转:http://blog.csdn.net/andkylee ... -
Oracle的定时任务创建
2011-09-09 13:02 947drop sequence s_CarInfoID ... -
数据库下载地址 更新中....
2011-08-02 13:49 827ORACLE 下载(官网) http://www.oracl ... -
Java 调用 Oracle 存储过程返回结果集
2011-07-07 20:01 1459转自:http://wxy0327.itpub.net/ ... -
HugeTable 连接
2011-07-05 13:20 1065JAVA连接HugeTable的代码如下 ... -
Hsqldb安装与使用
2011-07-04 19:45 1097转自:http://fengyongfa2006.blog.1 ... -
SQL语句修改字段类型报错
2011-05-06 10:03 1995Sybase 12.5数据库执行 alter ta ... -
MySql数据库
2010-06-05 14:33 9541、安装 正在使用5.1版本 ,下载地址 ... ... -
Linux下启动Sybase ASE和IQ
2010-02-01 10:01 4684启动和关闭Sybase ASE sybase@*** ... -
Oracle Win自动备份数据BAT文件
2009-12-21 22:24 1462@echo off REM ################ ... -
Oracle常用及非常用函数
2009-09-22 16:47 807转自: http://wangyu.iteye.com/blo ... -
JDBC使用addBatch一次插入 万条数据
2009-09-22 16:26 2249public class Conn { pub ... -
Linux下启动Oralce
2009-09-22 14:45 906su - oracle sqlplus /nolog ...
相关推荐
sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程
### SQL Server 存储过程实现分页查询 #### 背景介绍 在数据库操作中,分页查询是非常常见的需求之一。特别是在数据量较大的场景下,分页不仅可以提高查询效率,还能改善用户体验。SQL Server 提供了多种方式进行...
本文介绍一种简单且高效的SQL Server存储过程实现分页的方法,这种方法仅需提供SQL语句、每页的记录数以及当前页数即可快速完成分页操作。 #### SQL Server存储过程分页原理 在SQL Server中,通过存储过程实现分页...
根据给定的SQL Server存储过程代码片段,我们可以深入解析与SQL Server中的`GROUP BY`分组查询、存储过程以及分页技术相关的知识点。 ### SQL Server中的`GROUP BY`分组查询 `GROUP BY`子句在SQL查询语言中用于将...
3. ASP可以用于调用SQL Server存储过程实现数据的插入、更新和查询。 4. 使用参数化的存储过程可以提高数据库的安全性和性能。 5. 使用SQL Server的存储过程可以简化数据库操作和提高开发效率。 详细知识点 知识点...
本文将深入探讨如何利用SQL Server的存储过程实现高效的大数据分页查询。 首先,理解分页查询的基本概念。分页查询是指从海量数据中按指定的页码和每页大小获取数据,通常用于网页展示或报表生成。在SQL Server中,...
SQL server2008中通用分页存储过程,表名,每页长度,页码都是动态赋值。
SQL Server 2000下的通用分页存储过程.sql
在VB6.0中调用SQL Server的存储过程是VB开发者经常遇到的问题,本文将详细介绍如何在VB6.0中调用SQL Server的存储过程,并对存储过程的优点和使用方法进行了详细的解释。 首先,存储过程是一种封装方法,用于重复...
通用的Sql Server分页程序,并且符合BootStrap Table 的调用标准.
很好的通过存储过程实现分页的技术,很好的通过存储过程实现分页的技术,很好的通过存储过程实现分页的技术
SQL Server 分页存储过程是一种在数据库中实现高效数据分页查询的方法。在大型数据集的展示中,分页是必不可少的,因为它允许用户逐步浏览数据,而不是一次性加载所有记录,从而提高用户体验并减少服务器负载。以下...
sqlserver 存储过程分页
asp+sqlserver2005万能分页存储过程源码 sqlserver2005源码下载,很灵活的
首先,我们来看看SQL Server中的分页存储过程。这里展示的是一个名为`usp_GetPageData`的存储过程,用于获取分页数据。这个存储过程接收三个参数:`@pageSize`(每页记录数),`@pageIndex`(当前页数),以及`@...
### 标准SQL Server分页存储过程:深入解析与应用 在处理大量数据时,分页技术是提高数据展示效率和用户体验的关键。SQL Server提供的存储过程是实现分页功能的有效方式之一。本文将深入探讨微软C# .NET中的宠物...
使用系统游标分页,数据越大越能显示高效
本文将详细介绍如何使用存储过程实现SQL Server的分页,并演示如何在代码中调用这些存储过程。 一、分页的基本原理 分页通常涉及到两个关键参数:每页大小(PageSize)和当前页码(CurrentPage)。通过这两个参数...
SQL Server存储过程生成器是一种工具,它旨在帮助数据库管理员和开发人员更轻松、高效地创建和管理存储过程。存储过程是预编译的SQL代码集合,可以在SQL Server中执行,提供了一种组织和重用代码的方式,提高了应用...
"SQLSERVER存储过程分页"这个主题主要涉及如何利用存储过程来实现数据库查询结果的分页显示。在大数据量的场景下,分页查询对于提高用户体验和服务器性能至关重要。 分页查询的基本思想是限制每次从数据库中检索的...