0

我有 400 万条记录,需要每天从源到目标加载数据,我们每天都在进行截断。大约需要 9 个小时,因为每天有 10 个表在加载 400 万条记录数据。你能告诉我如何提高性能。谢谢

4

1 回答 1

0

你有两个选择:

  1. 使用 PDI 中可用的 MY SQL 批量加载程序步骤。它肯定会使数据加载更快。
  2. 使用一些简单的 JDBC 连接设置可以提高速度。

    useServerPrepStmts=false
    rewriteBatchedStatements=true
    useCompression=true
    

这些选项应在连接处输入 PDI。双击连接转到选项并设置这些值。

一起使用,useServerPrepStmts=falserewriteBatchedStatements=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 回答