我有兩個相同的(在結構上)數據庫駐留在單獨的後端服務器上。通過Perl合併兩個MySql數據庫(不是表)
我需要想出一些邏輯來將他們的數據合併到第三個服務器上的單個數據庫中。我最初的設計是使用Perl哈希和數組的組合將它們的數據(通過表)加載到內存中,然後將它們合併到那裏,然後對本地數據庫(結構也是相同的)進行單個大量寫入。
我會重複所有表(4-5)。
我見過關於合併表的文章,但不確定是否可以使用其中一些響應,因爲我的表駐留在單獨的數據庫中(更不用說單獨的計算機)。
我的問題是我堅持不得不將結果加載到內存中,或者是否有我可以使用的MySQL功能?
這裏「合併」是什麼意思?數據庫在某些領域是否重疊?如果它們重疊會發生什麼?多少個表互相引用?你(或者你會)有外鍵嗎? –
讓我試着迴應。通過合併,我的意思是我想要一個單一數據庫的最終產品,如果我查詢兩個單獨的數據庫,它會給我結果。有3個表和一個引用另一個引用最後一個。某些表具有自動遞增的主鍵,因此它們肯定可以與其他數據庫重疊並且很容易不會相同(即,ID35可以在兩個數據庫中引用兩個不同的東西)。至於外鍵,它們不到位。 – sirmarlo
添加FKs。轉儲較大的數據庫,恢復到目標,在恢復的數據庫中查找最大自動增量值,返回到較小的數據庫,增加所有ID以超過這些最大值,轉儲/裝載...利潤。但是這不再是一個編程問題。 –