Есть ли способ остановить отложенные вставки MYSQL из конфигурации MySQL?
У меня возникла странная проблема с одним из наших серверов. Я вижу, есть отложенные вставки MySQL
+--------+----------------+-----------+------------------+----------------+------+--------------------+------------------------------------------------------------------------------------------------------+
| Id | User | Host | db | Command | Time | State | Info |
+--------+----------------+-----------+------------------+----------------+------+--------------------+------------------------------------------------------------------------------------------------------+
| 219586 | DELAYED | localhost | XXXX | Delayed insert | 202 | Waiting for INSERT | |
на редко используемых базах данных. Из того, что я понял из руководства MySQL, эти вставки ждут других, чтобы оптимизировать часто используемые базы данных для записи вставок в пакетах / блоках. К сожалению, они говорят, что этот метод потребляет много памяти и крайне неэффективен при использовании в редко используемых базах данных. В этом конкретном случае в эту базу данных поступает только 10-20 запросов в день, что делает задержки чрезвычайно большими - вплоть до целого дня. Есть аналогичные проблемы с другими базами данных / пользователями, и при добавлении они загружают использование памяти MySQL и процессор.
Есть ли способ предотвратить задержку запросов от задержки? Как заставить их вести себя как обычные запросы?
Заранее спасибо!
Ура, венецианец.
2 ответа
- Вы можете FLUSH TABLES или 'KILL 219586', чтобы заставить этот поток завершить свою работу и выйти
- Задавать
max_delayed_threads=0
в конфигурационном файле и перезапустите экземпляр, чтобы полностью отключить функцию DELAYED - Читайте документы - это будет быстрее, чем ждать 6 часов на форуме
Не беспокойся об этой теме. Он просто хранится на случай, если в будущем будет отложенная вставка. Это на самом деле ничего не делает..