Kettle安装以及MySQL千万、亿级数据量迁移方案及性能优化
https://blog.csdn.net/qq_43278189/article/details/120860122?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v1~rank_v31_ecpm-12-120860122-null-null.pc_agg_new_rank&utm_term=kettle%E4%BC%98%E5%8C%96%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE&spm=1000.2123.3001.4430
====input控件======
数据库连接->选项->命名参数
defaultFetchSize=10000 #每次与数据库交互,读多少条数据加入内存中缓存,不设置默认把所有数据读取出来,容易内存溢出(OOM),我这里设置10000,大表CPU性能高建议设置最大50000,不能超过65535
useServerPrepStmts=true #是否在使用服务端的预编译语句,true表示以占位符的方式发送SQL到服务端进行拼接
cachePrepStmts=true #是否客户端缓存预处理语句
useCursorFetch=true #是否允许部分数据到客户端就进行处理,如果为false表示所有数据到达客户端后,才进行处
数据库连接->选项->连接池
勾选"使用连接池" 初始大小选50 最大空闲空间填 150
数据库连接->选项->命名参数
勾选
initialSize 10
maxActive 150
maxldle 20
minldle 5
====output控件======
数据库连接->选项->命名参数
useServerPrepStmas=false #表示服务端要不要预编译 我们不需要
rewriteBatchedStatements=true #让我们批量提交sql语句
useCompression=true #压缩传送数据
数据库连接->选项->连接池
勾选"使用连接池" 初始大小选100 最大空闲空间填 100
默认自动提交 false
改变复制的数量10