比较SQL2005数据库与2000分页技巧(2)_SQL SERVER数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

比较SQL数据库2005与2000分页技巧(2)

作者:黑客防线网安SQL维护基地 来源:黑客防线网安SQL维护基地 浏览次数:0

本篇关键词:技巧数据库比较执行
黑客防线网安网讯:  在Sql Server 2005中,我们可以利用新增函数row_number()来更高效的实现分页存储  CREATE PROCEDURE p_GetStudentInfo   @PageSize INT,   @PageIndex INT,   @strWhere varcha...

  在Sql Server 2005中我们可以利用新增函数row_number()来更高效的实现分页存储

  CREATE PROCEDURE p_GetStudentInfo
  @PageSize INT,
  @PageIndex INT,
  @strWhere varchar(1500) -- 查询条件(注意: 不要加where)
  As
  Begin
  select * from (
  select row_number() over (order by StudentInfoId) row,* from StudentInfo ) StudentInfo
  where row between @PageSize*(@PageIndex-1) and @PageSize*@PageIndex
  End
  go


  依照群组显示每条记录在该群组中出现的顺序位置在显示每条记录编号时非常有用,并且搭配OVER子句,这样就可以实现查询记录的条数了

  我们现在来比较一下它们执行的性能,StudentInfo表中现在有30多万条数据,我们分别来执行下面的存储过程:

  Exec p_GetStudentInfo
  @PageSize = 10000,
  @PageIndex = 10,
  @strWhere = '1=1'


  在Sql Server 2000中,执行的时间是接近2秒;

  在Sql Server 2005中,执行的时间显示的是接近0秒

  如果数据涉及到千万级的数据时,比较上面两种方法,就可以看到一些显著的差别了。

 

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-11281-1.html
网站维护教程更新时间:2012-03-21 03:19:34  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer