使用TableAdapter更新数据:性能不佳

时间:2017-10-10 10:19:28

标签: c# asp.net datatable dataset tableadapter

  • 数百csv
  • 对于每个csv,我必须将数千行数据保存到sql表中
  • 我正在使用c#.net,dataset,tableadaptes,因为您可以在下面的伪代码中阅读
  • 性能不好:大约100行/秒。 如何改进我的代码?

伪代码

select  [test].[numOnly]('44--(*)"*()£hllk564kkj3') as 'lala'

1 个答案:

答案 0 :(得分:0)

这是一个经过测试的优秀解决方案:85000行<5秒

private void BulkSaveCsvData(DataTable dt, string destinationTableName)
    {
        using (var bulkCopy = new SqlBulkCopy(_dbConnecion, SqlBulkCopyOptions.Default))
        {
            foreach (DataColumn col in dt.Columns)
            {
                bulkCopy.ColumnMappings.Add(col.ColumnName, col.ColumnName);
            }
            bulkCopy.BulkCopyTimeout = 600;
            bulkCopy.DestinationTableName = destinationTableName;
            bulkCopy.WriteToServer(dt);
        }
    }