调整前

image.png

1 通过调整参数提速

未列出的参数,已经测试过,没有多大优化
useServerPrepStmts = false
rewriteBatchedStatements = true
useCompression=true

1.1调整结果image.png

1.2 参数说明

1.2.1优化批量写入速度

1、rewriteBatchedStatements=true
含义: mysql jdbc驱动的源代码提示,如果不加rewriteBatchedStatements这个参数的时候,即使java代码写的是用batch执行的,实际上它将数据放到一个ArrayList中, 然后在executeBatch的时候再从这个list中取出来一条一条的发送,等于是没有batch的作用。
2、useServerPrepStmts=false
关闭服务器端编译,sql语句在客户端编译好再发送给服务器端。如果为true,sql会采用占位符方式发送到服务器端,在服务器端再组装sql语句,当我们的目的是为了提高数据库写速度当rewriteBatchedStatements =true时useServerPrepStmts=false必须配合使用。

将会使大批量单条插入语句:
INSERT INTO t (c1,c2) VALUES (‘One’,1);
INSERT INTO t (c1,c2) VALUES (‘Two’,2);
INSERT INTO t (c1,c2) VALUES (‘Three’,3);
改写成真正的批量插入语句:
INSERT INTO t (c1,c2) VALUES (‘One’,1),(‘Two’,2),(‘Three’,3);

1.2.2 优化传输性能

useCompression=true
可以实现压缩传输,优化客户端和MySQL服务器之间的通信性能。

2 修改提交记录数量

image.png

2.1调整结果

image.png

3 修改spoon.bat的运行内存大小

if “%PENTAHO_DI_JAVA_OPTIONS%”==”” set PENTAHO_DI_JAVA_OPTIONS=”-Xmx4096m” “-XX:MaxPermSize=4096m”

3.1调整结果

image.png

说明:由于电脑性能影响,没有测试出调整运行内存具体大小,待补充