我有一个简单的PHP脚本:
$cc = new couchClient('http://localhost:5984', 'posts_votes');
for ($i = 0; $i < 107000000; $i += 100000) {
// Usage of dibi database layer
$data = dibi::select('*')->from('posts_votes')
->offset($i)
->limit(100000);
foreach ($data as $n => $row) {
$doc = new stdClass();
$doc->post_id = $row->post_id;
$doc->date = $row->date->format('Y-m-d H:i:s');
$doc->upvotes = $row->upvotes;
$cc->storeDoc($doc);
if (($i+$n) % 1000 == 0) {
echo ($i+$n).'...';
}
}
}
但这个脚本能够在没有Apache的情况下直接通过PHP解释器运行,每分钟大约复制8500条记录,这在需要复制大约100000000条记录时并不快。
有没有更快的方法?