ETL說的大量,破億就算大了,特別是MSSQL SERVER(下簡稱MSSQL)這種非MPP架構的資料庫。
本次的CASE是要從DB2 WH (下簡稱DB2) 將七億筆資料且去識別化後寫入MSSQL,
因其在DB2的整檔方式是delete+insert,想在MSSQL用相同的方式udpate+insert處理。
流程如下:
- 透過openquery + bcp queryout、bcp in將DB2的前一日資料倒到MSQL 的temp table,約百萬筆
- 接著在MSSQL將temp Table用merge語法更新主table的七億筆資料
卻發生第二步執行過久而time out,且還不知道會跑多久的問題
要怎麼解決呢?