Для обработки больших результирующих наборов данных в PHP с использованием PDOStatement можно использовать следующие методы:
- PDOStatement::fetchAll(). php.ru ru.hexlet.io Возвращает массив, содержащий все строки результирующего набора. php.ru Каждая строка представлена либо в виде массива значений одного столбца, либо в виде объекта, имена свойств которого совпадают с именами столбцов. php.ru
- PDOStatement::fetch(). ru.hexlet.io Позволяет получать данные из набора результатов построчно. ru.hexlet.io Объект PDOStatement в этом случае выполняет роль курсора — указателя на набор данных, хранящихся в памяти в базе. ru.hexlet.io Каждый следующий вызов метода приводит к тому, что содержимое объекта подменяется новой порцией данных от СУБД. ru.hexlet.io
- PDOStatement::fetchColumn(). ru.hexlet.io www.php.net Позволяет получить данные только одного столбца следующей строки результирующего набора. ru.hexlet.io www.php.net Этот метод удобно использовать при получении результатов применения какой-нибудь агрегатной функции в SQL, например среднего или максимального значения столбца. ru.hexlet.io
Важно учитывать, что использование метода fetchAll() для извлечения строк больших результирующих наборов может пагубно сказаться на производительности системы и сетевых ресурсов. php.ru Вместо извлечения всех данных и их обработки в PHP рекомендуется использовать встроенные средства СУБД. php.ru Например, использование выражений WHERE и ORDER BY языка SQL может уменьшить размеры результирующего набора. php.ru