MySQL PHP:从一个表中选择数据并在另一个表中插入其他数据:性能明智

时间:2013-06-27 20:04:10

标签: php mysql performance

我在两个不同的服务器上有两个数据库:db1,db2。我想将一些数据从一个表传输到另一个表:从db1.mytable复制到db2.mytable
以下哪一项会更好/更快:

答:从db1.mytable中选择大量行,然后将它们小批量发送到db2.mytable

B:循环(从db1.mytable中选择少量行,然后将所有行中的所有行插入db2.mytable)

例:
答:

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
}


1 个答案:

答案 0 :(得分:1)

我同意David Jashee的观点。 事实上,不同服务器上的数据只需要您先导出它们。

在第一台服务器上,使用“Select into outfile”导出表/列 在服务器2上使用以下方法导入数据:

这将是快速的