• 使用DataReader分页的测试


    在网上看到分页的方式,据说DataReader分页速度最快。于是做了一番测试。

    首先我是使用Access数据库的,使用SocanCode自动生成代码分页(SocanCode是生成not in语句进行分页的)和使用DataReader分页,测试时间的方法如下:

        Stopwatch sw = new Stopwatch();
        sw.Start(); 
    //启动计时
        
    //编写代码执行被测试的算法
        sw.Stop();
    //停止计时
        
    //获取算法执行时间
        
    long UsedTime = sw.ElapsedMilliseconds;
       
    //...

    数据不多,一百多左右,测试结果如下,左边为DataReader分页,右边为sql分页:

    第1页:44,44
    第2页:44,69
    第3页:42,73
    第4页:43,68
    第5页:46,74
    第6页:44,82
    第7页:48,76
    第8页:44,81
    第9页:45,87
    第10页:43,80
    第11页:46,85

    从上面的数据来看DataReader分页时间比较均匀,而且没有出现越往后越慢的情况,而用SQL分页则有越往后速度越慢的趋势。于是把数据量增大到一万条,发现使用SQL分页已经慢得不行了,相差了几百倍左右了。再加大数据量,我已经没有耐心等待页面打开了。

    再经过搜索,看到其它人的测试数据虽然说是DataReader最快,但也没有相差如此巨大,于是换SQLSERVER再测试,结果显示,虽然DataReader还是快一些,但差距已经非常小了,估计是数据库功能越强大,则执行SQL速度越快吧。

    最终得出结论:DataReader速度的确是最快的,但是随着数据库功能的强大,差距在缩小,所以使用功能不强的Access差距巨大,而使用功能强大的SQLSERVER则差距非常小。下一步准备将SocanCode升级为DataReader方式分页。

  • 相关阅读:
    React学习笔记(六)事件处理
    React学习笔记(五)State&声明周期
    学会装逼,你的人生可能会开挂
    Go指南
    JavaScript检测数据类型
    $.on()方法和addEventListener改变this指向
    JavaScript返回上一页
    js继承
    js原型二
    全局变量与局部变量
  • 原文地址:https://www.cnblogs.com/yvesliao/p/1617552.html
Copyright © 2020-2023  润新知