在SQLServer2005下的通用分页存储过程

发布时间:2020-07-27 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了在SQLServer2005下的通用分页存储过程脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

利用SQLServer2005提供的新功能 ROW_NUMBER() 方法实现的分页,此分页存储过程与上一个分页存储过程在效率上的区别为:
1、如果执行的SQL语句为对单表或有表关联(用left join、right join、inner join等)的表关系比较简单,则用此方法速度相对上一种方法快;
2、如果 执行的SQL语句为对多表关联并且表关系比较复杂,则用上一种方法速度快。经测试,二种方法对一个具有100多万条记录的表进行查询,当查询最后一页时,速度也比较快,传统的查询方法:先查询符合条件的指定页前面的所有数据后,再查询指定页数减一的数据,然后在先查询的数据中过滤掉后查询的数据。如果用这种方法查询最后一页,将会不堪重负。

本想写一个通用存储过程的,但不是很方便,就是实现了,调用也不方便,
下面列出片段,在实际应用中,在于大家发挥各自的能力了:

WITH  Table_Data  AS
(
SELECT  ROW_NUMBER()  OVER  ( ORDER   BY  MemberPKId)  AS  RowIndex,  *
FROM  CUS_COMPANY_MAIN A  WITH  (NOLOCK)
)
SELECT   *   FROM  Table_Data
WHERE  RowIndex  BETWEEN   1   AND   20

总结

以上是脚本之家为你收集整理的在SQLServer2005下的通用分页存储过程全部内容,希望文章能够帮你解决在SQLServer2005下的通用分页存储过程所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入脚本之家官方QQ群:1065694478
脚本之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ”
精选程序员所需精品干货内容!