zoukankan      html  css  js  c++  java
  • 使用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方式分页。

  • 相关阅读:
    转:Redis 3.2.1集群搭建
    转:GET和POST两种基本请求方法的区别
    web.xml中 /和/*的区别
    java main方法里调用mapper
    Java定时任务
    @Resource与@Autowired注解的区别
    解决Eclipse EE部署web项目在Tomcat webapp目录下没有工程文件的问题
    get方式中文参数乱码解决方法
    生成excel并发送给客户端
    java把汉字转换成拼音
  • 原文地址:https://www.cnblogs.com/yvesliao/p/1617552.html
Copyright © 2011-2022 走看看