これは、SQLからデータをフェッチする単純なperlスクリプトです。データの読み取りとファイルOUTFILEへの書き込み、および10000行ごとに画面上のデータの印刷。
私が興味を持っていることの1つは、画面へのデータの印刷が非常に速く(30秒で)終了することですが、ファイルへのデータのフェッチと書き込みは非常に遅く(30分後)終了します。
データ量は多くありません。出力ファイルのサイズは100Mバイト未満です。
while ( my ($a,$b) = $curSqlEid->fetchrow_array() )
{
printf OUTFILE ("%s,%d\n", $a,$b);
$counter ++;
if($counter % 10000 == 0){
printf ("%s,%d\n", $a,$b);
}
}
$curSqlEid->finish();
$dbh->disconnect();
close(OUTFILE);