我有一個基本查詢,它提取Record_ID +關聯的Service_Number,然後是一個LEFT JOIN以查找其他相關的Service_Code。我已經確認每個子表中都有獨特的記錄。Teradata SQL - 瞭解將查詢結果插入易變表的性能影響
解釋計劃顯示此查詢的總估計時間爲「1分25秒」,但如果我在查詢中包裝CREATE MULTISET VOLATILE TABLE語句,突然解釋計劃顯示「72小時20分鐘」。如果我仍然運行VOLATILE TABLE創建,則該作業將在一分鐘內完成。
這些額外的加載時間有什麼貢獻?有什麼我可以看看,以減少這種情況?
我猜MULTISET和缺乏主索引消除歪斜會大大增加時間 –
Multiset實際上使它更快,因爲它不必檢查重複。不過,我認爲你對主要指數是正確的。 –
有趣的是,無論我定義的主要指標如何,即使沒有主要指標,都會顯示預計時間的大幅增加。由於DBA已經定義了最大「估計時間」限制,所以這成爲一個問題,因爲Teradata不允許執行我的查詢。 – user3867061