У меня есть страница отчета, которая имеет дело с ~ 700k записей из таблицы базы данных. Я могу отобразить это на веб-странице, используя подкачку, чтобы разбить результаты. Тем не менее, мой экспорт в PDF / CSV-функции основан на одновременной обработке всего набора данных, и я достигаю лимита памяти в 256 МБ около 250 тыс. Строк.
Мне неудобно увеличивать лимит памяти, и у меня нет возможности использовать сохранение MySQL в outfile, чтобы просто обслуживать предварительно сгенерированный CSV. Тем не менее, я не вижу способа обслуживания больших наборов данных с помощью Drupal, используя что-то вроде:
$form = array();
$table_headers = array();
$table_rows = array();
$data = db_query("a query to get the whole dataset");
while ($row = db_fetch_object($data)) {
$table_rows[] = $row->some attribute;
}
$form['report'] = array('#value' => theme('table', $table_headers, $table_rows);
return $form;
Есть ли способ обойти то, что по существу добавляется к гигантскому массиву массивов? На данный момент я не понимаю, как я могу предложить какие-либо значимые страницы отчетов с Drupal из-за этого.
Спасибо