Możesz użyć funkcji fetchall_arrayref, która przyjmuje argument „maxrows”:
while (my $data = $dbc->fetchall_arrayref(undef, 10000)) {
for my $row( @{$data} ) {
$report->process_record($row);
}
}
Możesz również spojrzeć na RowCacheSize właściwość, która próbuje kontrolować, ile rekordów jest zwracanych podczas pobierania ze sterownika.