我有一個概念性問題。如何將高性能數據從一個數據庫複製到另一個數據庫?
我有兩個具有相同結構的數據庫。一個數據庫已經包含了大量的數據。這些數據應通過Select
和Insert
傳輸到其他數據庫。
如何以最高性能進行數據遷移?
我的第一種方法是對列表中的所有表格進行排序,其中包含外鍵的表格將存儲在引用的表格後面。但是通過這種解決方案,將不可能開始並行處理。
第二個想法是創建一個自定義類型,其中包含表名和被引用表的表名以及用於存儲表中數據是否已被複制的布爾標誌。這種類型存儲在列表中的每個表中。然後,我開始一個新的線程,在複製之前檢查是否已爲每個表創建引用的表。如果沒有,我執行Thread.Sleep()
之後我會再檢查一次。
有沒有一個表現良好的方法來解決這個問題?
任何建議將有所幫助。
編輯: 舊數據庫是一個SQL Base數據庫。 新數據庫是一個MS SQL服務器數據庫。
大多數數據庫系統都有[大容量複製機制](https://msdn.microsoft.com/en-us/library/7ek5da1a(v = vs.110).aspx)。使用它。 – Heinzi
選擇/插入將是最糟糕的方式來做到這一點。我強烈建議爲此使用數據庫工具。也許「數據庫管理員」將是一個更好的地方。 http://dba.stackexchange.com/ –
問題是,舊的數據庫是一個sqlbase數據庫,而新的數據庫是一個ms sql服務器。因此,現在我正在開發這些「數據庫工具」 – Bambuk