系统配置优化
修改kettle定时任务中Kitchen与Pan脚本中参数配置,调整JVM大小进行性能优化
Kettle中控件参数配置优化
- 调整提交(Commit)记录数大小进行优化
例如:如修改RotKang_Test01中的“表输出”组件中的“提交记录数量”参数进行优化,Kettle默认Commit数量为:1000,可以根据数据量大小来设置Commit size:1000~50000 - 通过改变开始复制的数量(针对查询控件,这种方式比较简单,需要多尝试合理的复制数量)
- 在查询的控件中,条件是相等查询的话,可以使用缓存。
例如:数据库查询中,如果是比较相等,可以勾选使用缓存和从表中加载所有数据。 - 合适的添加数据库索引(针对数据库查询控件)
- 采用集群方式运行转化,job(针对查询控件、运算控件、排序空间)
- 尽量使用数据库连接池
- 尽量使用缓存,缓存尽量大一些(主要是文本文件和数据流)
- 合理的分区,如果删除操作是基于某一个分区的,就不要使用delete row 这种方式(不管是delete sql 还是delete 步骤),直接把分区drop 掉,再重新创建
- 调整记录集合里的记录数
- 尽量避免使用update , delete操作,尤其是update,如果可以把update变成先delete, 后insert
- 尽量不要用kettle的calculate计算步骤,能用数据库本身的sql就用sql ,不能用sql就尽量想办法用procedure,实在不行才是calculate步骤
Kettle中使用SQL优化
- Where子句中的连接顺序
- 删除全表是用TRUNCATE替代DELETE。
- 尽量多使用COMMIT。
- 用EXISTS替代IN。
- 用NOT EXISTS替代NOT IN。
- 优化GROUP BY。
- 有条件的使用UNION-ALL 替换UNION。
- 分离表和索引。
|