作者:李洪根  微软MVP

1。我个人认为最好的分页方法是:

Select top 10 * from table where id>200

写成存储过程,上面的语句要拼一下sql语句,要获得最后大于的哪一个ID号

2。那个用游标的方式,只适合于小数据量的表,如果表在一万行以上,就差劲了

你的存储过程还比不上NOT IN分页,示例:

SELECT Top 10 * FROM Customers WHERE Customerid NOT IN (SELECT TOP 20 Customerid from Customers )
declare @SQLStr varchar(8000)
set @SQLStr='SELECT Top '+cast(@每页大小 as varchar)+' * FROM 表 WHERE 主键列 NOT IN (SELECT TOP '+cast(@每页大小*@第几页 as varchar)+' 主键列 from 表 )'
exec(@SQLStr)

3。以下是我用存储过程分页的方式,分页一个20万行的表,结果显示在网页中,你可以看一下速度:

http://www.bizlands.com/trade/search.asp?type=s&sortid=15

4。很久前,我说过用sql的游标

游标是存放在内存中,很费内存.

游标一建立,就将相关的记录锁住,直到取消游标

游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的不同进行不同的操作。而对于多表和大表中定义的游标(大的数据集合)循环很容易使程序进入一个漫长的等待甚至死机.

所以说,我个人的经验,就是一万上行上的表,不用游标.小数据量的表,适当的时候可以用游标

因为游标,遍历小数据量的行集还是不错的一个方法!

5。用临时表自定义分页和使用游标自定义分页都不好!

李洪根关于[SQL]对于分页存储过程相关推荐

  1. SQL Server分页存储过程实践(图解)

    下面来对SQL Server分页存储过程进行一下实做.图解成功的各个步骤. 一 找到大数据量的示例表 分页都是针对大记录数的表:反之有大记录数的表,可能就需要分页.例如银行用户表,就会上千万.下面先做 ...

  2. C#调用SQL Server分页存储过程

    以SQL Server2012提供的offset ..rows fetch next ..rows only为例 e.g. 表名:Tab1 ------------------------------ ...

  3. [转]Sql Server 分页存储过程

    本文转自: 版权声明:作者:jiankunking 出处:http://blog.csdn.net/jiankunking  本文版权归作者和CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且 ...

  4. MS SQL SERVER2005 分页存储过程

    alter PROCEDURE [dbo].[PR_PageDivide] ( @TableName varchar(50), --表名 @SelectField varchar(200) = '*' ...

  5. 按任意字段排序的分页存储过程

    CREATE PROCEDURE GetRecordFromPage      @tblName       varchar(255),        -- 表名      @fldName      ...

  6. Sql Server 2005 存储过程分页

    Sql Server2005的一个新特性便是我等了很久的Row_Number(),以前用Oracle时用rownumber写分页存储过程很方便:) 下面是我做的一个小小的测试,测试我原来在sql se ...

  7. 完整SQL分页存储过程(支持多表联接)

    Code /*********************************************************   * 作    用:数据分页(完整SQL分页存储过程(支持多表联接)) ...

  8. SQL SERVER 通用分页存储过程

    SQL SERVER 通用分页存储过程 从SQLSERVER 2005开始,提供了Row_Number()函数,利用函数生成的Index来处理分页,按照正常的逻辑思维都是传pageIndex和page ...

  9. Sql Server通用分页存储过程

    sql server2000分页方式很多,效率吗  当到达10万级以上就有些吃力了,这里暂时不例出来了 sql server2005以上就有了row_number 也是一大进步,详情如下参考 Sql ...

最新文章

  1. php中的elseif和else if
  2. 用GDB调试程序(转)
  3. 认真工作的原因以及方法
  4. Java多线程:捕获线程异常
  5. vue从入门到精通之进阶篇(一)vue-router基础
  6. 前端学习(3333):ant design介绍按钮类型
  7. Python 优雅获取本机 IP 方法【转】
  8. lgg7无需9008,最简单无脑root
  9. 数字电视的格式(BT.601 BT.709 BT.2020)和接口(BT.656 BT.1120 BT.2077)
  10. Python绘图Turtle库详解
  11. 拉格朗日/柯西中值定理与高考数学计算
  12. 记深信服2018秋季校园招聘--技术服务工程师
  13. 【51单片机实验笔记】1. LED的初级控制
  14. KSO-C#语言2021年落选,Python获年度编程语言
  15. 计算机组成原理-机器数、浮点数
  16. 江城子·乙卯正月二十日夜记梦
  17. 织梦网站定时审核,定时发布织梦插件
  18. Java根据两点经纬度计算距离
  19. 华大半导体HC32F4A0笔记(四),SPI读写国产128kB EEPROM 上海贝岭BL25CMIA
  20. eps矢量图在word中的使用

热门文章

  1. 使用Python,OpenCV转换颜色空间,追踪对象的轨迹
  2. 点、线、面生成mvt(MapBox Vector Tile)格式的瓦片总结
  3. LabVIEW彩色图像分割(基础篇—14)
  4. POJ - 3160 Father Christmas flymouse DAG最长路
  5. 吴恩达神经网络和深度学习——第三周笔记
  6. ttc转换ttf字体在线_R 语言画图中英文字体解决方案
  7. CUDA之单thread单block多thread单block多thread多block
  8. 在CentOS 7.7 x86_64上安装python3的selenium 3模块实录
  9. ats 5.3.2中的header-rewrite插件调研
  10. Linux上chown命令的高级用法