Performance 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

我不知道这是不是在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
    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;
或者它们是等效的,因为临时表也将驻留在内存而不是磁盘上,因此没有区别,因为发生连接的表具有相同的分发密钥

在第二个查询中,我将查询分为两部分,在连接键上分发内部表,然后更新基表