前两次讨论了SQL server 2005分页效率和方法。在sql server 2000的分页是采用什么方法啊,对比一下两者的差别和性能

   

    SQL server 2000的分页方法,

    其常用分页sql代码如下:

SELECT TOP 19  *
FROM
 [dbo].[[[zping.com]]]]]
WHERE
 (ID NOT IN (SELECT TOP (10*(10000-1)) ID FROM  [dbo].[[[zping.com]]]]] ORDER BY ID DESC))
ORDER BY
 ID DESC

      这里的第10万页是分页的页数。在取10万页的分页看看执行效率:   

SQL Server 2005 分页研究和优化(3)_sql

19 行受影响)

SQL Server 2005 分页研究和优化(3)_sql

表 '[[zping.com]]'。扫描计数 2,逻辑读取 101723 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

 

    发现和上次去的第10万行分页逻辑读是一样的。而且扫描表有2次,说明和上一个分页效率一样,越到最后页效率很低。

   

   我个人认为:

并不是取所有分页数据都很快”