加快插入速度
在事務中包裝一組插入將根據此 StackOverflow 問題/答案加快它們的速度。
你可以使用此技術,也可以使用批量複製來加速執行的一系列相關操作。
// Widget has WidgetId, Name, and Quantity properties
public void InsertWidgets(IEnumerable<Widget> widgets)
{
using(var conn = new SqlConnection("{connection string}")) {
conn.Open();
using(var tran = conn.BeginTransaction()) {
try
{
var sql = "insert Widget (WidgetId,Name,Quantity) Values(@WidgetId, @Name, @Quantity)";
conn.Execute(sql, widgets, tran);
tran.Commit();
}
catch(Exception ex)
{
tran.Rollback();
// handle the error however you need to.
throw;
}
}
}
}