Таблица размером: 1 гб.
Лимит памяти PHP: 1 гб.
Записей в таблице: 100000.
Выполняю
$db = new mysqli(null, 'root', '', 'db_name');
$db_data = $db->query("SELECT * FROM table_name");
while ($row = $db_data->fetch_assoc()) {}
Получаю
Allowed memory size of 1073741824 bytes exhausted (tried to allocate 16384 bytes)
Я же не выбираю все записи разом (fetch_all), а беру по одной. Почему так происходит? Как исправить?
upd: выяснилось, что даже без fetch_assoc память кончается, и select происходит медленно. Думаю, попробовать делать select порционно, с LIMIT