我需要每天将一个非常大(数百万行)的表从一个 DB2 数据库复制到另一个数据库,并且我需要使用 perl 和 DBI。
有没有比从第一个 DB 中简单地 fetchrow_array 每一行并将它们一个接一个插入到第二个 DB 更快的方法?这是我得到的:
$sth1 = $udb1 -> prepare($read_query);
$sth1 -> execute();
$sth1 -> bind_columns(\(@row{@{$sth1 -> {NAME_1c}}}));
$sth2 = $udb2 -> prepare($write_query);
while ($sth1 -> fetchrow_arrayref) {
$sth2 -> execute($row{field_name_1}, $row{field_name_2});
}
我从一个类似的线程中实现了一些解决方案,但它仍然很慢。当然必须有更好的方法?