Я пытаюсь перебирать результат запроса из таблицы миллионов записей с помощью PDOStatement::fetch
, но это занимает слишком много времени:PHP PDO Итерация
$stmt = $db->prepare('select * from logs');
if ($stmt->execute()) {
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
// some stuff...
}
}
Есть ли способ итерации по запросу результаты по одному вместо того, чтобы загрузить весь результат? Благодаря!
ха? Вы получаете один ряд один за другим ?! 'fetchAll()' получит все результаты в одном. – Rizier123
Конечно, потребуется много времени для повторения более миллиона записей, я бы рекомендовал добавить paginator. DataTables.net - хороший плагин, который вы можете использовать для этого. – Daan
Если я выбираю «select * from logs limit 100», он возвращается один за другим. Но когда я удаляю «лимит», он слишком длинный. – micmia