我有一些數據未正確「分區」(缺少更好的單詞)。複製 - 在某些時間同步大部分數據
所有插入,處理和報告發生在同一張桌子上。大部分的處理過程發生在插入後不久,並且不久之後它變得不可變(我們正在談論幾天)。
我可以做一個新的表,我複製到舊錶的插入和處理。當我檢測到數據已變成不可變時,我會從新表中刪除數據,但我會編輯刪除複製存儲過程,以便刪除不會複製。
這個想法有多糟糕? < edit1>即編輯複製存儲過程。 < /編輯1>
它似乎有吸引力的時刻(我還沒有睡過它),因爲它可能會緩解性能問題,只需對應用程序進行非常小的更改。它似乎也可能是一個很好的方式來拍攝自己的腳。
EDIT1:
我喜歡插入兩個表,因爲我能避免視圖和城野的回答中描述的維護窗口的想法。沒有冒犯,喬諾,我實際上在其他地方使用這種技術。
我可能想使用複製,因爲一個表可能在另一個數據庫(我知道,我沒有提到這一點),這樣我就不必擔心提交到兩個表,我只是讓複製處理那。
我的實際擔憂(我沒有說清楚)是編輯複製存儲過程可能最終成爲部署/維護頭痛。
我可以將其中一個表扔到另一臺服務器上,這就是爲什麼我認爲複製可能是我的解決方案的一部分。感謝您閱讀我措辭不佳的問題。 – 2010-04-27 23:04:50
而不是編輯過程,爲什麼不編寫一些邏輯,它會在它試圖從行中發佈行之前,檢查某個共享狀態(您選擇的表中的行的值爲{「is_replication_enabled」,0})到目的地。您的刪除過程可以在啓動時將此值設置爲0,並在完成時將其設置回1。 – Jono 2010-04-28 08:28:32