我有一個數據庫,我打算複製出於備份的原因(性能目前不是問題)。複製大量的臨時表寫入
我們已經正確設置了複製並對其進行了測試,一切正常。
然後我們意識到它將所有的寫入複製到臨時表中,這實際上意味着一天數據量的複製花費了將近兩個小時的時間用於空閒的從站。
原因是我們每隔15分鐘通過cronjob重新計算db中的某些數據以確保它同步(總共需要大約3分鐘,因此在Web請求期間執行這些操作是不可接受的;相反,我們只是在Web請求中存儲修改而不嘗試重新計算任何內容,然後再批量執行所有工作)。爲了有效地處理這些數據,我們使用臨時表(因爲存在很多相互依賴關係)。
現在,第一個問題是,如果我們在處理使用該臨時表的事務的中間時重新啓動從屬服務器,臨時表不會持久存在。這可以通過不使用臨時表來避免,儘管這有其自身的問題。
更嚴重的問題是,如果不是所有的重新計算(它一個接一個地重新計算,所以沒有重建數據的好處每15分鐘... ...你可以從字面上看到它停留在,比如說1115,只是爲了快速追上並卡在1130等)。
我們提出的一個解決方案是將所有重新計算的數據移出複製數據庫,以便從站不復制它。但它的缺點在於我們不得不修剪它最終更新的表格,使得我們的奴隸實際上「閹割」,即。我們必須在實際使用它之前重新計算它上面的所有內容。
有沒有人有類似的問題和/或你會如何解決它?我錯過了明顯的東西嗎?
感謝您的支持,但它只是解決方案的一部分,因爲最終的表格(即,重新計算的臨時表格,而不是臨時的中間表格)是其他查詢成功運行所必需的,所以我們不能別理他們。 – tpk 2008-09-26 11:34:14