在我们现在不那么现代的n层应用程序中,我们对DataSet进行了广泛的使用,我们正在评估对其他较轻对象(即典型对象的集合)的更改。
是否有任何参考文件说明我们可以通过这样做获得多少内存消耗?
答案 0 :(得分:3)
DataSet内存使用量的重要指标是DataTable中每行所需的DataRow对象以及为每列自动生成的索引。存储列值是有效的,您无法改进。用一组通用集合替换它将允许消除DataRows,如果DataTable没有很多列,那么可节省大约50%。
索引是你需要担心的。他们非常快地对DataSet进行查询,除非你提供某种自定义替换,否则你将失去它。您是否需要提供替代品是不可能的,这取决于您运行的查询类型。
答案 1 :(得分:0)
这个问题非常主观,取决于许多无法在此显示的因素。如果问题是,DataSet会消耗比相同数量的对象的泛型集合更多的内存,那么答案通常是肯定的。
因为问题是它取决于你如何使用DataSet的具体情况(即:类型数据,DataViews?,索引?),而且只能通过测试准确测量。
但是,根据您使用DataSet的方式,您可能需要重建大部分功能。