【发布时间】:2022-01-04 04:12:28
【问题描述】:
我正在尝试在 snowflake 上使用 sql 查询,我正在尝试加入多个表,但我的查询需要永远运行,我不确定它是我的查询还是我的查询采取了一些错误的方法。
我在雪花中有这些下表 -
1)RR_SUMM, 2) YY_TEXTENTR, 3) KK_SUBEVT, 4) LG_NBETR, 5) XX_RPOPO, 6) VV_KJIU, 7) LL_JJHHHIP, 8) UU_GHGGHJ,
9) QQ_BHBHGGG, 10) TT_HJHHSY
所以 RR_SUMM 是我的主表
每个表都包含一个标记为 "_ID"
的公共列我的目标是使用 _ID 列将所有其他 9 个表与主表 RR_SUMM 连接起来
因为我正在尝试从每个表中提取一些字段并将其与主表组合。
我正在按照应用左外连接的方法将所有其他表与主表结合起来RR_SUMM
但我的方法需要永远运行,因为大多数表的大小约为 25 GB。
我在 SNOWFLAKE 中编写的 SQL 查询如下-
INSERT INTO "PRD"."POST"."_ALL_EVENTS"
SELECT
DISTINCT SUMMARY._ID,
SUMMARY.GEP_ID,
SUMMARY.AK_CD,
SUMMARY.AK1_CD,
SUMMARY.AK2_CD,
SUMMARY.JJ_DT,
SUMMARY.IL_OVRD,
SUMMARY.STRT_DT,
SUMMARY.EVENT_DT,
SUMMARY.PUNLICATION_DT,
SUMMARY.END_DT,
SUMMARY.END_1DT,
SUMMARY.OO_IND,
SUMMARY.EXPN_DT,
SUMMARY.STATHJJ_CD,
SUMMARY.STATHJJ_DT,
SUMMARY.ERSK_CD,
SUMMARY.DSRP_NBR,
SUMMARY.LNBR,
SUMMARY.LK_REF,
SUMMARY.OOLDESC_CD,
SUMMARY.LMN_CD,
TEXT.UTXCT,
TEXT.GL_CD,
SB.MN_CD,
SB.MN_DT,
SB.EVTEXT,
SB._START_DATE,
SB._END_DATE,
RE.RRONBT,
RE.NN_CD,
RP.RP_CD,
RP.RP_T_CD,
RP.RNME,
PP.FNBR,
PP.FDESC_CD,
IP.FL_DT,
IP.FL_DTTYPCD,
XP.JJ_DT,
XP.OO_CD,
OP.ORG_REF,
OP.FL_NBR,
KP.EVK_CD,
KP.EVJK_DT
FROM
"PRD"."POST"."RR_SUMM" SUMMARY
LEFT OUTER JOIN
"PRD"."POST"."YY_TEXTENTR" TEXT
ON TEXT._ID = SUMMARY._ID
LEFT OUTER JOIN
"PRD"."POST"."KK_SUBEVT" SB
ON SB._ID = SUMMARY._ID
LEFT OUTER JOIN
"PRD"."POST"."LG_NBETR" RE
ON RE._ID = SUMMARY._ID
LEFT OUTER JOIN
"PRD"."POST"."XX_RPOPO" RP
ON RP._ID = SUMMARY._ID
LEFT OUTER JOIN
"PRD"."POST"."VV_KJIU" PP
ON PP._ID = SUMMARY._ID
LEFT OUTER JOIN
"PRD"."POST"."LL_JJHHHIP" IP
ON IP._ID = SUMMARY._ID
LEFT OUTER JOIN
"PRD"."POST"."UU_GHGGHJ" XP
ON XP._ID = SUMMARY._ID
LEFT OUTER JOIN
"PRD"."POST"."QQ_BHBHGGG" OP
ON OP._ID = SUMMARY._ID
LEFT OUTER JOIN
"PRD"."POST"."TT_HJHHSY" KP
ON KP._ID = SUMMARY._ID
GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44;
如果有任何其他方法可以解决我的问题,请告诉我,我可以按照这些方法快速运行我的查询。我无法限制我的数据,因为我需要所有数据进行分析。
任何帮助将不胜感激。
谢谢
【问题讨论】:
-
首先你可以看看下面的文章,它详细介绍了如何优化查询执行:dzone.com/articles/… 根据列出的步骤,使用 WH、缓存选项进行测试并查看执行时间线,查看查询历史记录 - 查询计划,它可以提供有关最长时间花费的很好的信息。
标签: sql snowflake-cloud-data-platform snowflake-schema