建议非事务DML功能增加并发控制能力,比如加个parallel xx 选项能够控制并发执行分组SQL的并发度以加快执行速度,现在是分组后串行执行,如果再手工拆范围的话也比较麻烦,体现不出这个特性优势。
另外非事务DML执行时的执行计划有什么特殊地方?之前导入一张表 然后insert into select到另一张表,使用user_id二级索引每10000条一组,实际执行过程中发现分组的SQL执行时用的全表扫描。而这些sql单独拿出来执行explain\explain analyze都可以使用索引,收集统计信息后,非事务DML能正常使用索引。