我目前有一個需要每晚更新的3m記錄表。 填充此表的數據來自大約100個API,這些API都被歸一化爲一個巨型表。反映兩個數據集之間的記錄刪除/添加
問題: 如何反映正在添加的新記錄以及在源處刪除的記錄?
事實: 我不能每天晚上截斷表並重新插入。 每個API爲每條記錄提供一個常量ID(這樣我就可以跟蹤什麼是什麼)。 有些字段將每晚更新。
解決方案: 新記錄很容易,我只是將它們添加到我的表與一個AvailableFrom日期。 更新也很容易,對於每條記錄我會檢查它是否存在以及數據是否已更改(性能會變差)。
刪除的記錄是我卡住的地方。 這些API只會轉儲一大堆數據,我該如何判斷一條記錄是否「脫落」?
我在想某種交換表 - 任何想法?
謝謝,我去了第一個解決方案。解決方案2可能更整潔(我可以創建帶有統計數據的導入對象等),但是我添加了LastUpdated列。一個單獨的進程然後清除舊的行。完全導入會破壞其他地方引用的表ID。 – jimi 2010-10-11 14:03:26