Как оптимизировать PDO для работы с MySql таблицами в 45 000 000 строк?

У меня есть таблица в 45млн. строк. Мне ее нужно разбить по некоторому полю в котором содержится год внесения записи (всего там примерно 6-7 лет, не помню точно, количество записей на один год всегда разное). Делаю я все это с помощью PDO, и памяти не хватает. Все хаки которые нарыл в интернете не помогли. php.ini уже настраивал, и со стороны скрипта, и со стороны собственно конфига. Можете что-то подсказать в плане решения подобной проблемы? Увеличить количество памяти я к сожалению не имею возможности, максимум что - могу попробовать поднять memcached, но не уверен что это лучшая идея, с одной строкой ответа приходит довольно много информации. С буферизацией запросов тоже пробовал химичить, но
->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false)
не помогает. Подскажите, как вы поступаете в таких случаях?
  • Вопрос задан
  • 3006 просмотров
Решения вопроса 1
uakoB
@uakoB Автор вопроса
курсор не получается сделать потому что насколько я понял в драйвере MySql недоступен курсор. ну, по крайней мере так писали в этих ваших интернетах)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@s1dney
Вы что, пытаетесь селектом запросить все 45кк строк, что там памяти не хватает?
Используйте limit и курсор.
Ответ написан
Комментировать
disc
@disc
веб-разработчик
А можете показать запрос как вы это делаете?
Возможно я чего-то не понял в вопросе, но вам что действительно надо одновременно выводить 45 млн строк на страницу?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
26 апр. 2024, в 07:20
2000 руб./за проект
26 апр. 2024, в 06:46
1000 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект