假设您有一百万行要插入远程数据库。
作为一个明智的选择,您已经完成了以下工作以提高性能:
MySqlCommand
,您将为所有插入重复使用MySqlTransaction
阻止每次插入后自动提交,并在完成批处理后仅调用transaction.Commit()
。问题很简单:MySQL Connector.NET是否会在这些情况下自动执行事务批处理,或者您应该将多行单独连接到一个INSERT INTO foo(bar) VALUES (..), (..), (..), (..), ...;
并在事务中执行多个这些行?
在什么时候使用MySqlBulkLoader
代替?
答案 0 :(得分:0)
答案:不,他们不是。即使使用编译语句,每次添加参数时,数据都会通过网络发送,然后在执行时进行更远程的通信。