有没有insert into的优化方法,我用多表关联select出来的数据有五十多万条,一次性插入到一张表中的效率太差,最好有代码举例
我的核心语句是insert into tab1 select Col1,col2,col3.…from tab2 left join tab3 left join
查询出来的表有五十多万行每天,每次单独查询的时候很快,一用insert into就卡死,拆分后也不管用
以下是执行计划



<insert id="batchSave" parameterType="java.util.List">
insert all
<foreach collection="list" item="item" separator=" ">
INTO cj_msg(
id,type,type_id,title,detail,user_id,login_name,
status,create_by,create_date,update_by,update_date,remark,del_flag)
values
(#{item.id},#{item.type},#{item.typeId},#{item.title},#{item.detail},#{item.user.id},#{item.loginName},
#{item.status},#{item.createBy.id},#{item.createDate},#{item.updateBy.id},#{item.updateDate},#{item.remark},#{item.delFlag})
</foreach>
select ${list.size} from dual
</insert>