有几万个文本文件,每个文件有几万行数据。现在用c#程序把这些数据都插入mysql的表中,这种方法的速度很成问题,一台普通配置pc,导入一个文件(4万行)需要20分钟,考虑到文件太多,耗时太久了。我想到的办法是,在某性能强的服务器上装2个虚拟机,虚拟机和本机同时导入,相当于多台机器导。我用C#先读入每个文件,然后导入mysql ,不知道在程序层面,有什么具体优化策略或技术吗?
对于大数据量处理没有经验,还请各位多多指教!
对于大数据量处理没有经验,还请各位多多指教!
for循环调用mysql -e "load data"
每秒钟插入33行mysql记录,导入一个4万行文件20分钟,我还需要用程序读取一些其余信息一并写入,不知道在mysql数据表这里有什么优化策略吗?
用LOAD DATA是比较快的
string infoQuery = "INSERT INTO talbe1(id,value1,value2) VALUES('" + id+ "','" + value1 + "','" + value2+ "')";
MySqlCommand cmd = new MySqlCommand(infoQuery, conn);
cmd.ExecuteNonQuery();
解决了大问题!
谢谢大家!分不多,不足以表达我的感激!