1亿条数据批量插入 MySQL,哪种方式最快?

是的,这就是问题所在。
我以前也遇到过这种情况。

数据量很小,所以EXPLAIN不起作用。
我用一亿条数据进行测试,发现Mybatis很慢。

Mybatis轻量级插入5 2 万条需要7 -9 分钟,1 万条需要2 8 .6 秒。

JDBC直接处理,3 .9 秒/万笔交易,无交易时2 1 .2 秒/万笔交易。

JDBC批处理,无事务2 .1 秒/万条,事务1 .9 秒/万条。

结论:JDBC批处理+事务是最快的,1 亿条1 7 4 ,7 5 6 毫秒。

在千万级数据上测试,有交易和无交易没有太大区别。

Excel数据导入Mysql常见问题汇总:如何解决导入数据时遇到的大批量插入问题?

以上就是将Excel数据批量插入MySQL的方法。

1 .使用 INSERT INTO...VALUES 批量插入。
将 SQL 语句拼接成批。
适合数千到数万条数据。
使用 pymysql 运行executemany() 非常高效。

2 使用 LOAD DATA INFILE 进行快速导入。
直接从 CSV 文件导入。
转换为 CSV 格式,指定分隔符。
适合百万级数据,速度非常快。
注意权限问题和格式调整。

3 使用 Pandas 自动处理。
to_sql() 直接插入数据。
代码简单,适合快速实现。
大量数据应分块处理,以避免消耗内存。

说白了:关键看数据量。
对数千个项目使用 INSERT INTO...VALUES。
对数百万个项目使用 LOAD DATA INFILE。
如果您追求简单,请选择 Pandas。

数据类型合适吗? 一切都处理好了吗? 是否进行异常处理?
你自己看看。