引用MySql.Data.dll , 调用MysqlBulkCopy函数即可。这个函数在处理海量数据插入的时候效率尤为明显, 小量数据反而没什么优势,而且由于传入的DataTable格式必须和表的字段一模一样(空的列也要传进去),导致C#要写很多代码来构造这个数组,所以要你自己权衡用还是不用。我在自己的电脑上批量插入一亿条数...
MySQL提供了一些批量插入工具,可以更方便地将大量数据导入MySQL。以下是两种常用的批量插入工具。1. 使用MySQL Workbench MySQL Workbench是MySQL官方提供的一款图形化工具,其中包含了一个数据导入工具。使用该工具可以将CSV文件快速地导入MySQL。以下是使用MySQL Workbench导入CSV文件的步骤:① 创建一个新的数...
封装成mysql存储过程效率是不错的。总之你的插入的语句要打包到mysql区执行,而不是在C#中逐一执行。
在插入数据的循环中,每达到一定数量就执行一次executeBatch方法提交数据。索引优化:在大量数据插入前,暂时去掉索引。这样可以大大减少写入时更新索引的时间。数据插入完成后,再重新创建索引。数据库连接池:使用数据库连接池来减少数据库连接建立和关闭的开销,提高性能。数据库参数调整:增加MySQL数据库缓冲区...
1.用start transaction关闭mysql的自动提交,合理设置插入批量大小,不要一条数据提交一次。2.修改表的存储引擎InnoDB为MyISAM。(因为InnoDB中存在redo log日志,每次更新表的结果先写入redo log中,等redo log满了之后再写入磁盘而这个过程是会停止其他所有的事务)3.优化SQL(一条SQL语句插入多条数据)4....