我正在从 c# 代码大批量进行频繁的插入和更新,我需要尽快完成,请帮助我找到加快此过程的所有方法。
StringBuilder
使用, 单独的语句构建命令文本;
- 不要使用
String.Format
orStringBuilder.AppendFormat
,它比多次StringBuilder.Append
调用更慢 - 重用
SqlCommand
和SqlConnection
- 不要使用
SqlParameter
s(限制批量大小) - 使用
insert into table values(..),values(..),values(..)
语法(每条语句 1000 行) - 使用尽可能少的索引和约束
- 尽可能使用简单的恢复模式
- ?
以下是帮助更新上述列表的问题
- 每个命令(每次
ExecuteNonQuery()
调用)的最佳语句数是多少? - 在同一批次中进行插入和更新是好还是分开执行更好?
tcp 正在接收我的数据,因此请不要建议任何涉及从文件或外部表读取数据的批量插入命令。
插入/更新语句率约为 10/3。