Mysql 批量插入 大概11W的数据
来源:7-5 调试时进不去断点?可能是多个Fliter卡住了
奶茶三兄弟d
2020-11-10
老师,现在有个场景就是需要向 Mysql中插入数据11W多,之前同事的做法就是,开了一个线程池(固定6个线程),
然后for循环里面去用线程池执行一个runnable任务,任务里面的逻辑就是每次插入1000条数据(1000条意思是说
Mysql批量插入1000条最合适),但感觉还是很慢! 这边要是您做优化的话,老师你怎么去做啊,思路是什么,
为什么这样比较好,谢谢老师
写回答
1回答
-
同学你好:
MySQL 批量入库最好的方式不是用代码,反而用代码一定是非常慢的,原因其实很简单:
(1)你的每一次插入(批量插入还好)都需要重新构建索引
(2)执行速度取决于你使用的语言、机器性能、网络带宽等等
所以,最好的入库方式是使用 MySQL 提供的工具 LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;
执行这条命令最好的地方肯定是 MySQL 服务器所部署的机器上,这样省去了网络传输。你这里的数据仅仅有 11 万条,是小数据量。如果是更大规模的数据量,LOAD DATA 的方式体现的高性能就会更加的明显。
我是勤一,致力于将这门课程的问答区打造为 Java 知识体系知识库,Java 知识体系 BBS!共同建造、维护这门课程,我需要每一个你!
222020-11-11
相似问题