1、使用splitKey切分主键
分割任务由reader执行,对于mysqlReader,由CommonRdbmsReader的split方法执行
使用splitKey | channel(配置) | taskNumber(代码计算) | time(测试得出) |
否 | 10 | 1 | 31s |
是 | 1 | 1 | 31s |
是 | 2 | 11 | 21s |
是 | 3 | 16 | 11s |
是 | 8 | 41 | 11s |
是 | 10 | 51 | 11s |
是 | 15 | 76 | 11s |
是 | 20 | 101 | 11s |
taskNumber = channel/tableNumber * splitFactor(默认5) +1
结论:1、只有配置了splitKey才会开启并行任务
2、任务运行时间有上限,不需要配置很大的channel就能达到这个上限,具体数值可以通过测试得出。