PCG*_*PCG 3 c# sql database bulkinsert sqlbulkcopy
我们目前正在开发一个应用程序,它为每个用户会话在特定表中生成超过5-10,000行数据.目前我们使用sql text命令一次插入每行数据,因此保存操作可能需要一分钟.我们正在使用SqlBulkInserts并且已经看到时间下降到不到500ms.有没有人对在许多用户将使用该系统的生产应用程序中使用SqlBulkInserts有任何异议?
我从未遇到过使用tableLock选项设置SqlBulkCopy的问题,而另一个用户因此被阻止.TableLock选项可以提高插件的效率,而不是很多人所说的,只是简单地使用它就可以看到我.
我的典型方法:
public void Bulk(String connectionString, DataTable data, String destinationTable)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlBulkCopy bulkCopy =
new SqlBulkCopy
(
connection,
SqlBulkCopyOptions.TableLock |
SqlBulkCopyOptions.FireTriggers |
SqlBulkCopyOptions.UseInternalTransaction,
null
))
{
bulkCopy.BatchSize = data.Rows.Count;
bulkCopy.DestinationTableName = String.Format("[{0}]", destinationTable);
connection.Open();
bulkCopy.WriteToServer(data);
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4181 次 |
| 最近记录: |