Задать вопрос
Chernichko
@Chernichko
Учусь.

Как убрать ограничение на количество запросов к MySQL или оптимизировать работу скрипта?

есть скрипт, которых обрабатывает csv файл по строчно. В процессе обработки он вносит изменения в 3 разные таблицы базы.
Раньше все хорошо работало и обновлялось. Теперь в файле почти 100000 записей, а в скрипте по 7-10 запросов у каждой строки данных и база не обновляется.

слишком много запросов.
Как решить проблему?
  • Вопрос задан
  • 2027 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 2
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
не изобретайте "валасипед" - качните CSV встроенной функцией во временную таблицу, потом уже из нее рапихайте данные в три.
у меня так логи импортируются. 2 гига, несколько миллионов строк - 5-6 минут.
Ответ написан
@lyeskin
Обновлять батчем, а не по одной.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@EvgeniyKonstantinov
В my.cnf (/etc/my.cnf или /etc/mysql/my.cnf - зависит от дистрибутива):

max_user_connections=0

Установка значения в ноль снимает ограничение.

Кроме того можно выполнить следующий SQL от рута (пользователя подставить своего, цифры увеличить по необходимости):

GRANT ALL ON *.* TO 'username'@'localhost'
WITH MAX_QUERIES_PER_HOUR 1000
MAX_UPDATES_PER_HOUR 1000
MAX_CONNECTIONS_PER_HOUR 1000
MAX_USER_CONNECTIONS 1000;
Ответ написан
Комментировать
@AlikDex
пакетно обрабатывай, тыщи по 2-3 записи за 1 заход.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы