2013-06-27 34 views
0

我在兩個不同的服務器上有兩個數據庫:db1,db2。我想從一個表傳遞一些數據到其他:從複製到db1.mytable db2.mytable
以下哪會更好/更快:
MySQL PHP:從一個表中選擇數據並在其他數據庫中插入其他數據庫:性能明智

答:選擇從db1.mytable行的大數目然後發送在小批量db2.mytable

B:的環路(選擇少數從db1.mytable行然後插入所有這些在一個批次到db2.mytable)

實施例:
A:

SELECT * FROM mytable LIMIT 200000; 
while(not_all_fetched) 
{ 
    fetch 1000 rows; 
    insert these 1000 rows into db2.mytable; 
} 


B:

while(more_rows_to_copy) 
{ 
    SELECT * FROM mytable LIMIT 1000; 
    fetch all of them; 
    insert these 1000 rows into db2.mytable 
} 


+0

什麼錯1簡單的'插入MyTable select *從他的表'? –

+0

3個原因: - 他們在不同的服務器上的兩個不同的數據庫 - 他們是巨大的表 - 表的子集將被傳輸 –

+0

其在兩臺機器上 –

回答

1

我同意大衛Jashee。 事實上,不同服務器上的數據只需要您先導出它們。

的第一臺服務器,導出使用 「選擇INTO OUTFILE」 表/列在服務器上使用2導入您的數據:

這將是快速

相關問題