首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在pentaho中使用"Insert/Update“步骤时数据加载缓慢

在pentaho中使用"Insert/Update“步骤时数据加载缓慢
EN

Stack Overflow用户
提问于 2014-01-07 18:46:04
回答 4查看 18.2K关注 0票数 1

在pentaho 4.4.0中使用"Insert/Update“步骤时,数据加载很慢

我使用的是pentaho 4.4.0。在水壶中使用“插入/更新”步骤时,与mysql相比,数据加载的速度太慢。此步骤将在插入之前扫描整个表中的记录。如果该记录存在,它将进行更新。那么,在执行“插入/更新”时,应该如何优化性能呢?而且处理速度是4r/s,所以我的记录总共将超过1lkh…整个过程需要两个半小时才能完成。

EN

回答 4

Stack Overflow用户

发布于 2014-01-08 01:48:14

根据您的评论,听起来您需要后面跟一个Synchronize after mergeMerge rows (diff)步骤。检查Pentaho wiki以了解这些步骤是如何工作的。

另一件有很大不同的事情是,有多少行会导致upsert,而不是总共有多少行。如果导致写入的行数超过大约40%,@carexcer的最后一条注释可能是更好的方法。如果比较少,一定要尝试Merge rows (diff)步骤。

每秒4- 25行听起来很慢。无论您选择哪一步,都要确保标记为关键字的字段已被索引。

如果大多数行的结果是upsert,那么完全刷新可能会更好。如果是这样的话,请查看MySQL批量加载器。Pentaho同时拥有批处理和流式批量加载器,尽管我不知道它们有多好。

票数 4
EN

Stack Overflow用户

发布于 2014-01-07 18:54:50

尝试在Transaction Size (Commit)字段中设置一个较大的值。

根据要向上插入的行数,在该字段上设置“多”或“少”。

在我的例子中,这大大提高了性能。

如果您要向上插入,例如,100.000行,那么500将是一个很小的值,因为它必须提交200次。

更少的提交,更快的执行。

票数 2
EN

Stack Overflow用户

发布于 2016-06-08 13:50:36

useServerPrepStmts -错误的

useCursorFetch -真正的

useCompression -真正的

您可以尝试编辑连接并将这些参数放在那里。这将提高性能。

双击Database Connection -> Options选项卡-> Add on。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20969624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档