这是我的“多次插入”代码。
插入100k行只用了 3秒, 而不是40 秒 !
public static void BulkToMySQL(){ string ConnectionString = "server=192.168.1xxx"; StringBuilder sCommand = new StringBuilder("INSERT INTO User (FirstName, LastName) VALUES "); using (MySqlConnection mConnection = new MySqlConnection(ConnectionString)) { List<string> Rows = new List<string>(); for (int i = 0; i < 100000; i++) { Rows.Add(string.Format("('{0}','{1}')", MySqlHelper.EscapeString("test"), MySqlHelper.EscapeString("test"))); } sCommand.Append(string.Join(",", Rows)); sCommand.Append(";"); mConnection.Open(); using (MySqlCommand myCmd = new MySqlCommand(sCommand.ToString(), mConnection)) { myCmd.CommandType = CommandType.Text; myCmd.ExecuteNonQuery(); } }}创建的SQL语句如下所示:
INSERT INTO User (FirstName, LastName) VALUES ('test','test'),('test','test'),... ;更新 :感谢 Salman A, 我添加了
MySQLHelper.EscapeString以避免使用参数时在内部使用的代码注入。



