zoukankan      html  css  js  c++  java
  • 关于DataSet与Strongly typed DataSet几点思考(原创)

    关于DataSetStrongly typed DataSet几点思考

    DataSet可以把看成一个数据库,也可以看成数据集。而Strongly typed DataSetDataSet继承而来,并扩展了属性与方法。

    很多人一直认为Strongly typed DataSet效率一定比DataSet高。哪也未必。

    你可以填充一数据集,但是填充的时候不要超过100行,循环100或者1000次试试。就知道哪个效率更高。

    哪为什么Strongly typed DataSet在填充方面效率没有比DataSet高呢。大家可以看看,Strongly typed DataSet不仅需要构造DataSet,而且还要构造,自动生成的许多代码。这是它还不够简洁,所以它在填充方面速度并不快。

    因为我们在使用Strongly typed DataSet时,是使用的属性去访问,而在属性访问的时候,其本质是通过索引访问。(这个在博客园已经有人论证过了。)所以就有人一直认为强类型的DataSetDataSet速度快。

    Strongly typed DataSet的缺点已经说了。哪如何构造我们所需要的DataSet? ^-^

    其实我们并不怕消耗内存,就怕消耗在内存的东西不再使用。其实可以创建一个对象池来管理所构造的Strongly typed DataSet,这样将它缓存。效率提高了2-10倍。

    但是对于一个追求简洁的程序来说,虽然它已经是个非常不错的解决方案,但是我们还可以使用其它方案,提高代码的简洁。

    相信Duwamish大家都看过,它使用的是DataSet,但是它并不是强类型化。但是执行效率仍然很高(因为我们的数据量不会太大)。如果大家对它的访问通过索引的,哪执行效率将会更高,这是我推荐的。因为是自定义的,所以足够灵活。而不会像Strongly typed DataSet哪样。不过你也可以将Strongly typed DataSet做成像Duwamish中的数据类。

    如果从可维护性方面,哪Strongly typed DataSet可能会好些,但是如果代码写得好,也不见得使用类似Duwamish中的DataSet会差。而且我觉得可能还会更好些,只要大家对它进行扩展就行了。

    基类DataSet这个没什么好说的,大家都用得比我还熟。^-^

    OVER!

  • 相关阅读:
    十道海量数据处理面试题与十个方法大总结[转]
    Velocity常用语法详解
    你选择哪一种方式创建线程?
    通俗易懂地讲解TCP建立连接的三次握手和释放连接的四次挥手
    由浅入深的理解网络编程【转】
    [转载]OSI七层模型详解
    简单谈谈数据库索引
    【HBase】 常用命令
    【HBase】知识小结+HMaster选举、故障恢复、读写流程
    【HBase】HBase架构中各种组件的作用
  • 原文地址:https://www.cnblogs.com/yi/p/427735.html
Copyright © 2011-2022 走看看