我有 400 万条记录,需要每天从源到目标加载数据,我们每天都在进行截断。大约需要 9 个小时,因为每天有 10 个表在加载 400 万条记录数据。你能告诉我如何提高性能。谢谢
问问题
1317 次
1 回答
0
你有两个选择:
- 使用 PDI 中可用的 MY SQL 批量加载程序步骤。它肯定会使数据加载更快。
使用一些简单的 JDBC 连接设置可以提高速度。
useServerPrepStmts=false rewriteBatchedStatements=true useCompression=true
这些选项应在连接处输入 PDI。双击连接转到选项并设置这些值。
一起使用,useServerPrepStmts=false
将rewriteBatchedStatements=true
在客户端“伪造”批量插入。具体来说,插入语句:
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`);
第三个选项useCompression=true
压缩客户端和 MySQL 服务器之间的流量。
最后,您可以将输出步骤的副本数增加到 2,以便有两个线程插入数据库。
希望能帮助到你!
参考(选项 2):https ://anonymousbi.wordpress.com
于 2016-10-31T18:45:31.710 回答