- 浏览: 73661 次
文章分类
- 全部博客 (47)
- 合并两个表 (1)
- java (46)
- 获得一个节点对象的节点类型 (1)
- JSP 页面不能解析EL表达式。 (1)
- 数据库连接长时间空闲后 (1)
- 爆连接已经关闭的解决方法 (1)
- 设计工作流引擎就象设计一部汽车(工作流程引擎设计思路提示) (1)
- Hadoop的下一代mapreduce (1)
- 备忘css元素定位 (1)
- 第一次通宵 (1)
- 字符编码工具类 (1)
- Asset Pipeline in rails 3.1.0 (1)
- IT行业热点----我国IT飞速发展需关注6大问题 (1)
- Web Service实践之——开始XFire (1)
- 单片机C语言编程基础模板 (1)
- 中医养生顺口溜 (1)
- Property文件读取的Util类 (1)
- JEECMS (1)
- CheckStyle使用java.header文件的问题 (1)
- JUnit4测试代码示例 (1)
- JavaScript中三个弹出窗口 (1)
- About .Net Petshop (1)
- MapXtreme2004代码 在地图上新增加点图元 (1)
- 50个GMail的邀请权 想要的留下EMail (1)
- asp.net+Access简单企业站源码 (1)
- 局域网指定ip断网工具源码 (1)
- lucene索引和搜索过程中的核心类介绍 (1)
- poi 取消科学计数法 (1)
- centos相关 (1)
- java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener registered (1)
- Project configuration is not up-to-date with pom.xml. 问题解决 (1)
- js截取最后一个.的字符串(IP地址判断) (1)
- Android开发之《Android应用开发揭秘》UI事件汇总 (1)
- SSH through proxy to visit ssh.github.com (ZZ) (1)
- eclipse3.7 添加任务标记 (1)
- SQLServer2005和2008的分页技术比较 (1)
- 传智播客java基础加强ppt (1)
- Struts 标签疑难问题收集-乔乐共享 (1)
- mysql使用rand随机查询记录效率测试 (1)
- 按钮实现spinner (1)
- 线程循环 (1)
- Android相关工具地址 (1)
最新评论
-
543089122:
N年前的老掉牙的手段了,原理也就是ARP
局域网指定ip断网工具源码 -
lvwenwen:
...
Web Service实践之——开始XFire -
hz_grape:
程序员的人生
第一次通宵 -
faylai:
传说中的广告贴啊!!
设计工作流引擎就象设计一部汽车(工作流程引擎设计思路提示)
<span style="font-size: small">我们以前在开发大数据量的分页存储过程时,往往都为了怎么样实现高效的性能,而大伤脑筋,似乎总是想写出最佳的存储过程分页方法,我们假如建立一个学生基本信息表StudentInfo,我们看在Sql Server 2000中我们实现的存储过程: <br /> <br />CREATE PROCEDURE p_GetStudentInfo <br />@strWhere varchar(1500) -- 查询条件 (注意: 不要加 where) <br />,@PageSize int = 50 -- 页尺寸 <br />,@PageIndex int = 1 -- 页码 <br />AS <br />BEGIN <br /> <br />declare @strSQL varchar(5000) -- 主语句 <br />declare @strTmp varchar(110) -- 临时变量 <br />declare @strOrder varchar(400) -- 排序类型 <br /> <br />set @strTmp = '<(select min' <br />set @strOrder = ' order by studentinfoid desc' <br /> <br />if @PageIndex = 1 <br />begin <br /> if @strWhere != '' <br /> set @strSQL = 'select top ' + str(@PageSize) +' * from studentinfo where ' + @strWhere + ' ' + @strOrder <br /> else <br /> set @strSQL = 'select top ' + str(@PageSize) +' * from studentinfo '+ @strOrder <br />--如果是第一页就执行以上代码,这样会加快执行速度 <br />end <br />else <br />begin <br />--以下代码赋予了@strSQL以真正执行的SQL代码 <br />set @strSQL = 'select top ' + str(@PageSize) +' * from studentinfo <br />where studentinfoid' + @strTmp + '(studentinfoid) from (select top ' + str((@PageIndex-1)*@PageSize) + ' studentinfoid from studentinfo' + @strOrder + ') as tblTmp)'+ @strOrder <br />if @strWhere != '' <br /> set @strSQL = 'select top ' + str(@PageSize) +' * from studentinfo <br /> where studentinfoid' + @strTmp + '(studentinfoid) from <br /> (select top ' + str((@PageIndex-1)*@PageSize) + ' studentinfoid from studentinfo where ' + @strWhere + ' ' <br /> + @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder <br />end <br />--print (@strSQL) <br />exec (@strSQL) <br />END <br />GO <br /> 我们在上面的存储过程中可以看到,如果执行的是第一页的记录时,我们可以看到只执行 <br /> <br />'select top ' + str(@PageSize) +' * from studentinfo where ' + @strWhere + ' ' + @strOrder <br /> 就可以了,而如果翻页的时候,就会在条件查询中又嵌套子查询,势必性能会有所下降,而这个已经在我们Sql Server2000中算是高效的分页存储过程实现方式了,而现在如果我们换作Sql Server 2005的时候,我们是不是还是用这种方式呢? <br /> <br /> 在Sql Server 2005中,我们可以利用新增函数row_number()来更高效的实现分页存储 <br /> <br />CREATE PROCEDURE p_GetStudentInfo <br /> @PageSize INT, <br /> @PageIndex INT, <br /> @strWhere varchar(1500) -- 查询条件(注意: 不要加where) <br /> As <br /> Begin <br /> select * from ( <br /> select row_number() over (order by StudentInfoId) row,* from StudentInfo ) StudentInfo <br /> where row between @PageSize*(@PageIndex-1) and @PageSize*@PageIndex <br /> End <br /> go <br /> 依照群组显示每条记录在该群组中出现的顺序位置,在显示每条记录编号时非常有用,并且搭配OVER子句,这样就可以实现查询记录的条数了。 <br /> <br /> 我们现在来比较一下它们执行的性能,StudentInfo表中现在有30多万条数据,我们分别来执行下面的存储过程: <br /> <br /> Exec p_GetStudentInfo <br /> @PageSize = 10000, <br /> @PageIndex = 10, <br /> @strWhere = '1=1' <br /> <br /> <br /> 在Sql Server 2000中,执行的时间是接近2秒; <br /> <br /> 在Sql Server 2005中,执行的时间显示的是接近0秒。 <br /> <br /> 如果数据涉及到千万级的数据时,比较上面两种方法,就可以看到一些显著的差别了</span>
发表评论
-
Android相关工具地址
2012-02-08 15:57 799SDK: http://developer.andr ... -
线程循环
2012-02-07 14:28 837@selector(xxxThread)方法以后,在方 ... -
按钮实现spinner
2012-02-03 12:43 905int cityID=0; //用于默认选择哪个 ... -
mysql使用rand随机查询记录效率测试
2012-02-03 09:24 757一直以为mysql随机查询几条数据,就用 SELECT ... -
Struts 标签疑难问题收集-乔乐共享
2012-02-02 15:14 883循环List:private List list; & ... -
传智播客java基础加强ppt
2012-01-31 16:13 1612<p>????? 如果想把java基础打牢 ... -
eclipse3.7 添加任务标记
2012-01-31 15:23 2395<p>在编写程序时有一些工作要等到以后才做 ... -
SSH through proxy to visit ssh.github.com (ZZ)
2012-01-31 14:58 1924<p>Scenario:</p> ... -
Android开发之《Android应用开发揭秘》UI事件汇总
2012-01-11 14:43 1215<h1>Android开发之《Androi ... -
js截取最后一个.的字符串(IP地址判断)
2012-01-11 14:18 2274[size=small;] 由于我们的项目中需 ... -
Project configuration is not up-to-date with pom.xml. 问题解决
2012-01-11 13:09 2088<span>Project configu ... -
java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener registered
2011-12-28 12:28 5517<span style="font-f ... -
centos相关
2011-12-28 11:34 850比较新的源 rpm -Uvh http://dow ... -
poi 取消科学计数法
2011-12-21 13:33 2246[size=medium;]<br>[/s ... -
lucene索引和搜索过程中的核心类介绍
2011-12-21 12:54 1248lucene索引和搜索过 ... -
局域网指定ip断网工具源码
2011-12-20 13:53 2057只适用于小型局域网 <br> <s ... -
asp.net+Access简单企业站源码
2011-12-20 12:04 3183<span style="font-f ... -
50个GMail的邀请权 想要的留下EMail
2011-12-15 13:34 767今天看到自己已经有50个GMail的邀请权了 想要的请 ... -
MapXtreme2004代码 在地图上新增加点图元
2011-12-15 13:29 813sender, System.EventArgs e ... -
About .Net Petshop
2011-12-14 19:29 732<span style="" ...
相关推荐
根据给定的SQL Server存储过程...总之,SQL Server的`GROUP BY`分组查询、存储过程和分页技术都是数据库管理和数据分析中不可或缺的工具。正确理解和灵活运用这些技术,可以极大地提升数据库应用程序的性能和用户体验。
本书对SQL Server 2005存储引擎方面的知识进行了全面而详细的阐述,包括数据库文件、日志和恢复、表、索引及其管理、锁定和并发等内容。除了解释设计理念与运作原理外,书中还辅之以大量简短而有力的实例。您将跟随...
以下是几种常用的SQL Server分页技术: 1. **TOP 和 NOT IN** 分页: 这种方法通过`TOP`关键字选取指定数量的记录,然后使用`NOT IN`子句排除已选取的记录。例如,查询第二页的记录,可以先选取前`@RecordStart`个...
在实际应用中,可以结合前端技术(如JavaScript、Vue.js、React等)动态加载分页数据。 总结来说,Java连接SQL Server数据库并执行查询涉及以下步骤: 1. 引入JDBC驱动 2. 创建数据库连接 3. 编写SQL查询语句,支持...
### 最简单的SQL Server数据库存储过程分页 #### 知识点概述 在处理大量数据时,分页查询是一项常见的需求。传统的T-SQL分页方法可能会导致...希望本文能帮助读者更好地理解和应用SQL Server中的存储过程分页技术。
《Microsoft SQL Server 2005技术内幕:T-SQL查询》是一本深入解析SQL Server 2005中T-SQL查询语言的专业书籍。T-SQL(Transact-SQL)是微软对标准SQL的扩展,是SQL Server的核心组件,用于数据库管理、数据查询和...
总的来说,利用SQL Server的存储过程进行千万级数据分页查询,结合合理的索引策略和优化技巧,能够有效提升查询性能,降低系统负载,为用户提供流畅的浏览体验。请参考“分页.txt”和“使用方法.txt”文件,了解更多...
本文将深入探讨如何使用SQL Server中的`TOP`语句来实现高效的数据分页,同时结合JDBC和Servlet技术进行数据的后台处理和前端展示。 首先,`TOP`语句是SQL Server中的一个非常实用的子句,用于在查询结果集中返回...
**JSP + SQL Server 分页...总之,JSP结合SQL Server的分页技术是解决大数据展示问题的有效方法,合理运用可以显著提升Web应用的性能和用户体验。理解其原理并熟练掌握,对于任何Java Web开发者来说都是必备技能之一。
**Struts、Hibernate和SQL Server 2005 分页小项目详解** 在软件开发中,尤其是Web应用,数据分页是一项重要的功能,它能够帮助用户有效地浏览大量数据,提高用户体验。本项目以"Struts+Hibernate+SQL Server 2005...
虽然这里讨论的是SQL Server 2005,但类似的异步分页技术也适用于其他数据库系统,如MySQL、Oracle等,只是具体实现可能有所不同。 综上所述,数据库级别的异步分页结合了SQL Server的存储过程和JavaScript的前端...
总结来说,SQL Server提供了多种分页技术,包括`TOP`与`ORDER BY`,`ROW_NUMBER()`窗口函数,以及`OFFSET`和`FETCH NEXT`。在代码后台,可以编写通用的方法来封装这些查询,方便在各种场景下使用。合理地利用索引和...
在SQL Server数据库中,分页是一种常见的数据检索技术,它允许我们从大量数据中按需获取一部分结果,而不是一次性加载所有记录。这在处理大型数据集时尤其有用,可以提高性能,减少网络传输,以及提供更好的用户体验...
总结,"jsp+sqlserver分页"项目涉及了数据库分页技术、Struts框架的使用、JavaBean组件以及JSP页面的构建。这些知识点对于理解Web开发中的数据交互和用户界面设计至关重要。通过这个项目,开发者可以学习到如何在...
### SQL Server 2005 内存调优关键技术解析 #### 一、引言 在数据库管理系统(DBMS)的运维过程中,SQL Server 2005 的性能优化是确保系统稳定运行的关键之一。其中,内存管理尤其重要,因为它直接影响到数据查询...
在SQL Server数据库管理中,分页查询是一种常用的技术,它允许用户按页面浏览大量数据,而不是一..."SQL分页.txt"文档应该会详细介绍这些内容,包括示例代码和最佳实践,对于理解和应用SQL Server分页技术非常有帮助。
### SQL Server分页查询概述 分页查询是指从大量数据中按需取出一部分数据的过程,通常用于网页展示或大型数据报表中,以提高加载速度和减少服务器负担。在SQL Server中,实现分页查询有多种方法,包括使用`ROW_...
综上,ASP.NET结合SQL Server的分页技术是构建高效数据展示的重要手段。开发者需要理解分页原理,掌握如何在ASP.NET中使用分页控件,以及如何优化SQL Server的分页查询,以提供流畅的用户体验。在实际项目中,根据...
【SqlServer2005】:SQL Server 2005是微软公司推出的一款关系型数据库管理系统,它在数据存储、处理和管理方面提供了强大的功能。该版本引入了新的T-SQL扩展,支持更复杂的查询和数据操作,同时提高了性能和稳定性...