如何在C#中比较2个大型DATA表? DataTable.Select
方法需要永远的时间。
我需要将每条记录的字段值与另一张表进行比较。源字段和目标字段数据类型可能不同,例如表1的field1数据类型为INT,表2的field1数据类型为VARCHAR。
答案 0 :(得分:0)
您需要对应用程序进行概要分析,以发现到底是什么速度很慢:遍历列并比较值或查找需要比较的匹配记录(行)。
对于记录,解决方案可能是将表转换为字典。如果您的表具有唯一的列,则可以使用它,然后将它们转换为字典,其中key是记录的唯一列值,value是整行。然后迭代第一个DataTable,获得唯一的列值,并从2nd Datatable中获得行,但从Dictionary中获得行。
如果问题是在两行之间进行比较,那么最好显示代码以供查看,也许还有额外的比较或强制转换。没有代码很难说。