Performance Netezza中的查询性能
我不知道这是不是在Netezza中提出查询性能问题的合适论坛?如果没有,请让我知道我应该在哪里发布这些类型的问题 以下哪项查询效率更高Performance Netezza中的查询性能,performance,netezza,Performance,Netezza,我不知道这是不是在Netezza中提出查询性能问题的合适论坛?如果没有,请让我知道我应该在哪里发布这些类型的问题 以下哪项查询效率更高 --QUERY1: UPDATE S_F_PROMOTION_HISTORY SET SENT_IND = SENT.SENT_IND, SEND_DT = SENT.SEND_DT FROM ( SELECT PROMO_HIST_ID, 1 AS SENT_IND, MIN(RESPONSE_DT) SEND_DT FROM
--QUERY1:
UPDATE
S_F_PROMOTION_HISTORY
SET
SENT_IND = SENT.SENT_IND,
SEND_DT = SENT.SEND_DT
FROM
(
SELECT PROMO_HIST_ID, 1 AS SENT_IND, MIN(RESPONSE_DT) SEND_DT
FROM
S_STG_SMS_FEEDBACK
WHERE
RESPONSE_ACTIVITY_TYPE_ID = 50
GROUP BY
PROMO_HIST_ID
) SENT
WHERE
S_F_PROMOTION_HISTORY.PROMO_HIST_ID = SENT.PROMO_HIST_ID;
--Query2:
CREATE TEMP TABLE SENT_TABLE AS
SELECT
PROMO_HIST_ID, 1 AS SENT_IND, MIN(RESPONSE_DT) SEND_DT
FROM
S_STG_SMS_FEEDBACK
WHERE
RESPONSE_ACTIVITY_TYPE_ID = 50
GROUP BY PROMO_HIST_ID DISTRIBUTE ON PROMO_HIST_ID;
UPDATE
S_F_PROMOTION_HISTORY
SET
SENT_IND = SENT.SENT_IND,
SEND_DT = SENT.SEND_DT
FROM
SENT_TABLE SENT
WHERE
S_F_PROMOTION_HISTORY.PROMO_HIST_ID=SENT.PROMO_HIST_ID;
或者它们是等效的,因为临时表也将驻留在内存而不是磁盘上,因此没有区别,因为发生连接的表具有相同的分发密钥
在第二个查询中,我将查询分为两部分,在连接键上分发内部表,然后更新基表