0
我有我需要在Netezza公司的加入兩個表,其中一個非常大如何優化Netezza公司表恭維與日期條件
我有一個維度表是具有客戶表的連接兩個字段,客戶ID和觀察日期,即
cust_id, obs_date
'a','2015-01-05'
'b','2016-02-03'
'c','2014-05-21'
'd','2016-01-31'
我有一個事實表,事實上,並在數量上非常高。它有每個客戶有很多交易的每日期即
cust_id, tran_date, transaction_amt
'a','2015-01-01',1
'a','2015-01-01',2
'a','2015-01-01',5
'a','2015-01-02',7
'a','2015-01-02',2
'b','2016-01-02',12
兩個表是由相同的密鑰分發 - CUST_ID
但是當我加入的表,我需要加入給出的日期條件。查詢是非常快,當我只是將它們加入到一起,但是當我添加日期條件它似乎並沒有優化。有沒有人有關於如何設置基礎表或編寫連接的提示?
I.e.總和transaction_amt爲每個客戶對他們所有的交易爲3個月,他們的obs_date
FROM CUSTOMER_TABLE
INNER JOIN TRANSACTION_TABLE
ON CUSTOMER_TABLE.cust_id = TRANSACTION_TABLE.cust_id
AND TRANSACTION_TABLE.TRAN_DATE BETWEEN CUSTOMER_TABLE.OBS_DATE - 30 AND CUSTOMER_TABLE.OBS_DATE
也許還要提到最初的新郎記錄剪切定義後所需的全部內容。 – ScottMcG
我在談論創建表的另一個副本;但是,如果你重組而不是創建/插入,你需要修改記錄。如果表格足夠大,複製它可能會令人望而卻步。 –
即使您進行了創建/插入操作,您也需要在插入時進行修飾或排序,以獲得區域地圖的好處。 – ScottMcG