李洪根关于[SQL]对于分页存储过程
来源:互联网 发布:网站源码安装教程 编辑:程序博客网 时间:2024/05/29 09:26
作者:李洪根 微软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)
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]对于分页存储过程
- 游标对于分页存储过程
- 游标对于分页存储过程
- 游标对于分页存储过程
- 游标对于分页存储过程
- 游标对于分页存储过程
- 游标对于分页存储过程
- 游标对于分页存储过程
- sql 存储过程分页
- sql 存储过程分页
- sql分页存储过程
- sql分页存储过程
- sql 存储过程分页
- sql 存储过程分页
- SQL 存储过程---分页
- 分页存储过程--sql
- sql存储过程 分页
- sql 存储过程分页
- 世界上最经典的15句话!
- 关于DataGrid等控件中的自动编号
- 堆和栈的区别
- DataGrid/DataList
- 新商品房买卖合同示范文本
- 李洪根关于[SQL]对于分页存储过程
- 顺序栈的实现(SqStack, C++版)
- Asp.NET中常用的一些优化性能的方法
- *=* 用一生来说“我爱你”*=*
- 给DataGrid添加Number列的简单方法
- JAVA控制台(console)问题求助!
- ASP.NET中页面传值技巧
- 个性化的分页
- 使用sqlserver来存放和取得session