与输入(100.000-200.000行/秒)相比,我的表输出步骤非常慢(~2000行/秒)。 MySQL服务器不是问题,使用本机MySQL,例如使用"执行SQL脚本"一步,我得到的东西是十万分之一秒。我已经尝试过(没有成功)扩展SQL选项的常见解决方案:
useServerPrepStmts=false
rewriteBatchedStatements=true
useCompression=true
我还改变了提交大小参数(100,1.000,10.000)并启用了Use batch updates for inserts
,但也没有成功。我还可以做些什么?我有大约10.000.000行的桌子,Pentaho在一台非常强大的机器上运行,所以这是不可接受的。
答案 0 :(得分:0)
为此,我认为理想的步骤是MySQL Bulk Loader
步骤,该步骤列在批量加载部分下。与此同时使用上述
useServerPrepStmts=false
rewriteBatchedStatements=true
useCompression=true
在连接中的JDBC选项中。
这些useCompression将压缩客户端和MySQL服务器之间的流量
其他两个将形成INSERT INTO tbl (a,b) VALUES (1,'x'),(2,'y'),(3,'z');
而不为每个使用单独的插入语句。
答案 1 :(得分:0)
请按照以下步骤操作:
现在比较速度。
干杯!