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


        前两次讨论了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万页的分页看看执行效率:   

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

     

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

       

        我个人认为:

        网上说这个方法在sql server 2000可以“实现高性能千万量的数据分页”,这不一定对,在前几页效率是很高的,越到最后分页效率是很低的,SQL server 2005在中分页的确做了很大提升。在使用时大家要注意到这一点:“并不是取所有分页数据都很快

  • 相关阅读:
    linux shell在while中用read从键盘输入
    ubuntu14.04折腾迅雷xware
    select与epoll分析
    ubuntu 14.04下练习lua
    C++中的重载、覆盖、隐藏
    删除ubuntu旧内核
    fcntl函数加文件锁
    系统中断与SA_RESTART
    linux使用共享内存通信的进程同步退出问题
    leetcode-easy-others-268 Missing Number
  • 原文地址:https://www.cnblogs.com/zping/p/1247858.html
Copyright © 2020-2023  润新知