![]() |
1
11
Paging of Large Resultsets 获胜者使用的是rowcount。还有一个更复杂查询的通用版本。 但要归功于 贾斯敏·穆哈雷莫维奇 :)
本文包含整个源代码。 请阅读“更新2004-05-05”信息。! |
![]() |
2
6
我想一个嵌套的
替换
当然,在SQL Server 2005中,更好的方法是使用
|
![]() |
3
1
查询的效率实际上取决于底层表的结构。如果,假设您有一个名为id的主键,它是一个标识, 和 它是一个聚集索引, 和 您可以假设没有人在上面插入标识,您可以执行如下查询: 从id>@lastpagesid;所在的表中选择top xxx。 这将尽快得到结果。其他一切真正有效率的东西都是这个的变种——也许它不是一个ID——也许你用来翻页的实际上是一个日期,你知道它是独一无二的,但你明白了这一点……这里显示的基于in()的查询可能会工作,但它们不会影响部分聚集或覆盖索引扫描的性能。 |
![]() |
4
0
我认为您真正拥有的是升级到SQL 2005的一个令人信服的原因。 在SQL 2005中,可以使用以下方法快速轻松地完成此操作:
如果您真的坚持使用SQL 2000,我会担心-考虑到现在已经是两代人了,微软不会完全支持它更长时间。 恐怕不会有一个最好的方法来做到这一点——所有的解决方案都有点像黑客。 @然而,Petar Petrov的回答可能是最一致的:
我想你每次都在用查询分析器调整几个小时。存储过程在任何方面都不会有太大的区别——查询计划的缓存不太可能成为瓶颈。 |
![]() |
5
0
这是将对任何表执行分页的通用SQL Server 2000存储过程。存储过程接受表的名称、要输出的列(默认为表中的所有列)、可选的WHERE条件、可选的排序顺序、要检索的页码和每页的行数。
下面是一些如何使用Northwing数据库的示例:
确认一下,这不是我的工作,而是出于礼貌 http://www.eggheadcafe.com/PrintSearchContent.asp?LINKID=1055 干杯,约翰 |
|
Johnny T · 基于当前值的SQL合并表[重复] 6 月前 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 7 月前 |
![]() |
ojek · 如何对SQL结果进行分组和编号? 7 月前 |
![]() |
senek · 如何在PL/SQL中将选择结果(列)放入数组中 7 月前 |
![]() |
Sax · 规范化Google表格(第一步) 7 月前 |
![]() |
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 7 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 7 月前 |