long start = System.currentTimeMillis(); ExecutorService executor = Executors.newFixedThreadPool(3);
三个线程同时执行插入,如果是同一个表的话,会加剧锁竞争吧
1.batchinsert方法多次调用,且每次都要创建连接关闭连接,感觉可以封装一下。 2.mysql的url地址rewrite参数有加吗?好像可以提升性能,你可以查一下
对于大量数据的批量插入操作,可以考虑以下几个优化方案来提高性能:
使用多线程:将读取、解析、插入数据的任务拆分成多个线程并行处理,可以提高整体处理速度。注意在并行处理时需要合理控制数据库连接的并发数,避免连接池过载。
批量提交:将多条插入语句合并成一条插入语句进行批量提交,减少与数据库的交互次数。例如,可以将多个VALUES子句合并成一个INSERT INTO语句,每个VALUES子句用逗号分隔。...
就插入300W文件 * 14,何必多线程……
有时间限制,还是带宽不够?
直接dbeaver导入进去花不了几分钟
伙伴匹配系统讲过插入数据的优化,感兴趣可以看下
谢谢各位
long start = System.currentTimeMillis(); ExecutorService executor = Executors.newFixedThreadPool(3);
三个线程同时执行插入,如果是同一个表的话,会加剧锁竞争吧
1.batchinsert方法多次调用,且每次都要创建连接关闭连接,感觉可以封装一下。 2.mysql的url地址rewrite参数有加吗?好像可以提升性能,你可以查一下
对于大量数据的批量插入操作,可以考虑以下几个优化方案来提高性能:
使用多线程:将读取、解析、插入数据的任务拆分成多个线程并行处理,可以提高整体处理速度。注意在并行处理时需要合理控制数据库连接的并发数,避免连接池过载。
批量提交:将多条插入语句合并成一条插入语句进行批量提交,减少与数据库的交互次数。例如,可以将多个VALUES子句合并成一个INSERT INTO语句,每个VALUES子句用逗号分隔。...
就插入300W文件 * 14,何必多线程……
有时间限制,还是带宽不够?
直接dbeaver导入进去花不了几分钟
伙伴匹配系统讲过插入数据的优化,感兴趣可以看下
谢谢各位