pab*_*blo 2 c# mysql sql-server
我正在编写一个C#应用程序,需要在某个时间点将大约600K条记录插入数据库.
它们是非常简单的记录:只有3个长.
我正在使用params来设置命令,然后循环遍历内存中的数据以进行插入,在每个循环中将值分配给命令参数并运行command.ExecuteNonQuery()
在SqlServer上完成大约需要50秒,而在MySql上它甚至更慢,而在平面文件上插入相同的数据只需要几毫秒.
我做错了什么或数据库太慢了?
由于以下几个原因,您将看到写入平面文件的速度更快:
ExecuteNonQuery不会将多个插入语句分组到批处理中,因此每个记录都会产生一个完整的进程间通信周转时间.以组的形式发送插入语句.