Sie können die Funktion fetchall_arrayref verwenden, die ein 'maxrows'-Argument akzeptiert:
while (my $data = $dbc->fetchall_arrayref(undef, 10000)) {
for my $row( @{$data} ) {
$report->process_record($row);
}
}
Sie können sich auch die RowCacheSize ansehen -Eigenschaft, die zu steuern versucht, wie viele Datensätze bei einem Abruf von Ihrem Treiber zurückgegeben werden.