我是Teradata
&的新手幸運的是有機會在DDL-DML
兩個語句上工作。最好的方法來更新表中的數據 - Teradata
我觀察到的一件事是當時間到達UPDATE
表中的數據具有大量記錄時,Teradata非常緩慢。
我在Google
上找到的最簡單的方法來執行此更新是寫一個INSERT-SELECT
語句與CASE
列保持值更新爲新值。
但是,當這種情況到達Data Warehouse
環境時,當我們需要更新一列表中的多列時,會有數百萬行? 哪一個會是最好的方法?
INSERT-SELECT
only OR MERGE-UPDATE
OR MLOAD
?
不確定是否有任何上述方法不適用於此UPDATE
操作。
預先感謝您!
如果沒有索引可以使用更新需要全表掃描,但通常相當快(只更新主索引或分區列是緩慢的,但無論如何不好的做法)。另外一個巨大的更新可能會導致一個巨大的瞬態Jornal。表格中的行數和更新行的百分比是多少?你的更新如何編碼? – dnoeth
@Dnoeth目前我們在表中有382,851,001#行。但這是每週一次的增量。所以現在我們可以使用INSERT-SELECT方法。但很快,由於空間限制,我們的情況將會失敗。僅供參考,我們有多個專欄用戶,PI&table是專家。通常我們需要更新不是PI的列。 – Aditya
任何二級/聯結指數? MERGE通常比UPDATE更好(可能避免假脫機)。你的更新如何編碼?一個巨大的選擇或源表? – dnoeth