【问题标题】:Are there any differences if I'm retrieving data in a DataSet instead of a DataTable [duplicate]如果我在 DataSet 而不是 DataTable 中检索数据,是否有任何区别[重复]
【发布时间】:2011-11-25 17:22:01
【问题描述】:

可能重复:
Datatable vs Dataset

如果我使用DataSet 而不是DataTable 填充数据,我想知道在内存、效率方面的差异。

我想向第三方解释这一点,所以需要强有力的理由。

【问题讨论】:

  • 如果您只检索单个表,那么使用 DataSet 只是不必要的开销 - 在内存和性能方面

标签: c# .net


【解决方案1】:

DataSet 是数据库的内存表示,它包含一个集合DataTableDataRelation 对象用于关联这些表。 另一方面,DataTable 表示任何“单个”数据库表的内存数据缓存。

因此,如果您只处理单个表,那么最好使用DataTable 而不是DataSet

【讨论】:

    【解决方案2】:

    DataSet 可以保存多个 DataTables,并且数据集维护一些内部索引以提高查找和选择等操作的性能。

    一些有趣的讨论

    How can I improve the loading of my datasets

    Datatable vs Dataset

    【讨论】:

      【解决方案3】:

      这实际上取决于您带回的数据类型。由于 DataSet(实际上)只是 DataTable 对象的集合,因此您可以将多个不同的数据集返回到单个对象中,因此更易于管理。

      性能明智的数据集传输比数据表需要更多时间,因为数据集是数据表的集合

      see this for more details

      【讨论】:

      • 不仅仅是DataTable 的集合——DataSet 还包含数据关系甚至更多开销
      • DataSet 需要大量内存。如果有问题的 DataTable 之间没有任何关系,请不要使用它们。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多