zoukankan      html  css  js  c++  java
  • DataReader和Dataset的性能比较 以及什么时候用dataset什么时候用DataReader

    原文发布时间为:2009-11-13 —— 来源于本人的百度文章 [由搬家工具导入]

    DataReader和Dataset的性能比较 以及什么时候用dataset什么时候用DataReader

    【技术要点】
    1、每次Read()方法从数据库中取出一条数据,然后丢弃;然后取出下一条数据
    2、它需要保持当前的活动连接
    3、它总是顺序读取

    【和Dataset的性能差距】
    DataReader是后者速度的近30倍,而且从数据库中取出的数据越多,这方面的速度差距也越大
    见 A Speed Freaks Guide to Retrieving Data in ADO.NET

    【如何提高性能?】
    越早从DataReader读取数据,越早关闭DataReader,越早关闭连接,就越能提高性能

    【Sql和OleDB性能差距】
    Sql的速度是OleDB速度的近10倍

    【什么地方使用Dataset?】
    1、桌面应用程序中使用,利用客户端的处理能力
    2、不同的应用平台之间传输远程数据,比如利用web service传输Dataset
    3、需要数据缓存(DataReader是保持数据连接的对象)
    其他缓存办法:使用DataReader从数据库中取出数据,循环保存进一个Arraylist,每条数据保存在一个实体类里面,每个字段的数据对应了此类的相应属性。所有这些实体类对象一起构成了数组Arraylist。——这种方法的好处:不仅更有效率,而且更加易于保持,降低和数据库之间的耦合;当然,此数据集合也可以方便的绑定到控件中(http://aspnet.4guysfromrolla.com/articles/102302-1.aspx)。
    4、需要自由的获得关系数据的时候,比如主从表。与其每次都从数据库中取相应父栏目下的所有子数据,不如一次性全部取出子数据,然后根据table表之间的关系relation绑定到控件。

    【使用Dataset的若干理由】
    1、某些场合使用它开发更加方便
    2、有时候可以让web客户端像桌面客户端

    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=443359

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sooniory/archive/2007/06/16/1654194.aspx

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sooniory/archive/2007/06/16/1654194.aspx

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sooniory/archive/2007/06/16/1654194.aspx

  • 相关阅读:
    Spring总结
    Json
    智能搜索
    Ajax
    include指令和include标签的区别
    jsp状态管理
    Model1
    JavaBean
    JSP内置对象的解析
    镜像地址管理工具nrm
  • 原文地址:https://www.cnblogs.com/handboy/p/7158388.html
Copyright © 2011-2022 走看看