在 IDE 中,Pentaho 数据库联接速度比单个查询慢

Pentaho database join slower than single query in IDE

提问人:Pleasant94 提问时间:9/21/2023 最后编辑:Pleasant94 更新时间:10/12/2023 访问量:32

问:

我正在使用由不同步骤组成的 PDI 转换,其中一个是数据库联接,它只获得 1 个值作为输入,执行查询(仅 1 次),然后操作结果等等。这一步非常缓慢且痛苦(超过 40 分钟)。

通过 Toad by Oracle 执行的相同查询在 1-2 秒内完成。 我尝试了有和没有每个优化提示,没有任何变化,PDI和通过Toad的单次执行之间存在很大的性能差异。

SELECT /*+PARALLEL(4)*/
    COUNT(T.ID_VAL) AS number_of_occurences, T.name
    FROM TABLE T
    WHERE     1 = 1
    AND T.col1 = 'S'
    AND T.col2 IS NULL
    AND T.name IN
    (
        SELECT /*+INDEX OTHER_TABLE GROUP_ID_INDEX*/ DISTINCT TAB_O.name
        FROM OTHER_TABLE TAB_O
            WHERE     1 = 1
            AND TAB_O.GROUP_ID = ?--'10052023'--PASSED VALUE
            AND TAB_O.col1 = 'M'
    )
    GROUP BY T.name

其中与 相同。T.nameTAB_O.name

我的转换结构是:

enter image description here

该步骤的参数为:

enter image description here

为什么会有这种差异?

两个表的示例如下:

OTHER_TABLE:

GROUP_ID COL1型 名字
1 S John
1 M 马克
2 S 马克
2 M 珍妮
2 S John
10052023 S
10052023 M John
10052023 M 千斤顶

桌子:

ID_VAL 名字
1
2
3 John
4 千斤顶
5 千斤顶
6 千斤顶

所以我想要结果:

number_of_occurences 名字
1 John
3 千斤顶

我认为问题出在pentaho准备查询或计算开销上,我不知道Pentaho是如何执行查询的。

添加一些有关环境的信息,我在 VM 上使用 Pentaho 的本地实例,该实例连接到另一台服务器上托管的存储库。

Pentaho 数据库性能 PDI

评论


答: 暂无答案