有个需求,把一张表的数据拆分,每条数据都要经过一些逻辑检查,插入到另外的表, 一条数据的插入和检查是同步进行的,不能拆开进行,
如果数据量大的话 性能很慢,连接也有可能断开,这种情形改怎么优化?
建议把检验后的每条数据先保存在内存或缓存中,然后使用批量插入方法(不是一条条插入),比如每次插入2000条,即2000条只需跟数据库建立一次连接,减少数据库压力。
类似这样的批量插入语句:
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...),
(value1,value2,value3,…),
...
(value1,value2,value3,…);
forkjoin 试一下