gpt4 book ai didi

c# - 在生产应用程序中使用 SqlBulkInsert

转载 作者:太空狗 更新时间:2023-10-30 01:59:47 25 4
gpt4 key购买 nike

我们目前正在开发一个应用程序,可以在特定表中为每个用户 session 生成超过 5-10,000 行数据。目前我们正在使用 sql 文本命令一次插入每一行数据,因此保存操作最多可能需要一分钟。我们正在尝试使用 SqlBulkInserts,并且看到时间下降到不到 500 毫秒。有人反对在许多用户将使用该系统的生产应用程序中使用 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);
}
}
}

关于c# - 在生产应用程序中使用 SqlBulkInsert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8762642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com