保存数千行的最佳方法是什么,在做某事后,更新它们。
目前,我在使用
插入时使用数据表填充它MyDataAdapter.Update(MyDataTable)
在对MyDataTable进行一些更改后,我再次使用MyDataAdapter.Update(MyDataTable)方法。
修改
我很抱歉没有提供更多信息。
最多可能有200,000行从XML文件创建。行将保存到数据库中。之后,每行都会有一些过程。我需要更新数据库中的每一行。
我决定更新数据表并使用相同的dataadapter来更新行,而不是逐行更新。
这是我最好的。
我认为可能有一种更聪明的方法。
答案 0 :(得分:1)
如果我理解正确,您正在执行两个单独的操作:将行加载到数据库,然后更新这些行。
如果要插入的行来自另一个支持ADO.NET的数据源,则可以使用SqlBulkCopy批量插入行,这比使用数据表更有效。
一旦行在数据库中,我会假设您最好执行SQLCommand来修改它们的值。
如果你能提供更多关于什么 - 以及为什么 - 的详细信息,那么你可以提出问题,或许我们可以更好地为它量身定做答案。
答案 1 :(得分:1)
在回应你的意见时:
DataAdapter.Update()
将逐行更新(和插入/删除)。如果您有个别更改,那么实际上没有更快的方法。如果你有系统的变化,比如SET Price = Price+ 2 WHERE SelByDate < '1/1/2010'
,你可以通过对数据库运行DbCommand来改善。
但也许您应该在执行之前担心交易和错误处理。