小编sel*_*lva的帖子

雪花查询性能调优

我有一个包含多个 ctes 的雪花查询,并使用 Talend 作业插入表中。执行查询需要超过 90 分钟。它是多个级联的ctes,一个调用另一个,另一个调用另一个。

\n\n

我想提高查询的性能。大概有1000行代码,我无法将其粘贴到这里。当我检查配置文件时,它显示了所有窗口函数和聚合函数,这会减慢查询速度。

\n\n

例如,顶部较慢的是,

\n\n
ROW_NUMBER\xe2\x80\x8b(\xe2\x80\x8b\xe2\x80\x8b)\xe2\x80\x8b OVER \xe2\x80\x8b(\xe2\x80\x8bPARTITION BY LOWER\xe2\x80\x8b(\xe2\x80\x8bS\xe2\x80\x8b.\xe2\x80\x8bSUBSCRIPTIONID\xe2\x80\x8b)\xe2\x80\x8b \n                   ORDER BY S\xe2\x80\x8b.\xe2\x80\x8bISROWCURRENT DESC NULLS FIRST, \n                      TO_NUMBER\xe2\x80\x8b(\xe2\x80\x8bS\xe2\x80\x8b.\xe2\x80\x8bSTARTDATE\xe2\x80\x8b)\xe2\x80\x8b DESC NULLS FIRST, \n                      IFF\xe2\x80\x8b(\xe2\x80\x8bS\xe2\x80\x8b.\xe2\x80\x8bENDDATE IS NULL, '29991231', S\xe2\x80\x8b.\xe2\x80\x8bENDDATE\xe2\x80\x8b)\xe2\x80\x8b DESC NULLS FIRST\xe2\x80\x8b)\xe2\x80\x8b \n
Run Code Online (Sandbox Code Playgroud)\n\n

占用 7.3% 的时间。您能建议一种替代方法来提高查询性能吗?

\n

snowflake-schema snowflake-cloud-data-platform

2
推荐指数
1
解决办法
2105
查看次数