Pentaho数据集成SQL Server表输出步骤性能问题

问题描述 投票:0回答:1

为了这个问题,我有一个样本转换设置:

表输入步骤->表输出步骤。

[在运行转换并查看实时统计信息时,我看到了:

enter image description here

表输出步骤每秒加载〜11行,这非常慢。我在“表输出”步骤中的提交大小设置为1000。SQL输入返回40k行,并且在其自身运行而不指向表输出的情况下,在10秒内返回。输入和输出表位于同一数据库中。

系统信息:pdi 8.0.0.0Windows 10SQL Server 2017

sql-server pentaho-spoon pentaho-data-integration
1个回答
0
投票

表输出通常非常慢。

如果我没有完全弄错,它会为每个传入的行插入一个插入,这会花费很多时间。

一种更快的方法是使用“批量加载”,该批量加载使用“ LOAD DATA INFILE'FIFO File'INTO TABLE ....”将数据从Kettle内部流式传输到命名管道。

您可以在此处详细了解批量加载的工作方式:https://dev.mysql.com/doc/refman/8.0/en/load-data.html

无论如何:如果要在同一个数据库中从一个表向另一个表进行输入,那么我将创建一个“ Execute SQL script”步骤,并使用单个查询进行更新。

[如果您看一下这篇文章,您可以在单个SQL查询中了解有关从另一个表更新表的更多信息:SQL update from one Table to another based on a ID match

© www.soinside.com 2019 - 2024. All rights reserved.