提问人:Pleasant94 提问时间:9/21/2023 最后编辑:Pleasant94 更新时间:10/12/2023 访问量:32
在 IDE 中,Pentaho 数据库联接速度比单个查询慢
Pentaho database join slower than single query in IDE
问:
我正在使用由不同步骤组成的 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.name
TAB_O.name
我的转换结构是:
该步骤的参数为:
为什么会有这种差异?
两个表的示例如下:
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 的本地实例,该实例连接到另一台服务器上托管的存储库。
答: 暂无答案
评论