Почему падает скорость записи в MySQL?

Здравствуйте!
Скрипт висит в бесконечном цикле и импортирует записи в БД. Постепенно скорость записи падает. Почему так происходит и как этого избежать?
  • Вопрос задан
  • 1005 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Индексация. При добавлении каждой следующей записи надо перестроить все индексы таблицы.
MySQL в стандартный дамп добавляет команды отключения индексов до заполнения таблицы и включения их после заполнения.
ALTER TABLE `table` DISABLE KEYS;
INSERT ...
...
INSERT ...
ALTER TABLE `table` ENABLE KEYS;
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
Хинт: при больших объемах лучше данные не "перекачивать скриптом" а делать
mysql -u dbUser -p dbName < foobar.sql
Или
LOAD DATA INFILE 'data.txt' INTO TABLE my_table;
И да, индексы лучше отключить, а потом включить после заливки.

Если у вас действительно данные поступают непрерывным потоком, то возможно стоит посмотреть на другие базы, типа кликхауса, например.
Ответ написан
@abbaboka
bulk loading
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы