Я запустил команду таблицы анализа в производственном mysql db, не зная, что это помешает мне выбрать содержимое таблицы. Это привело к тому, что производственный сайт снизился :( Сколько времени может потребоваться для блокировки для выпуска? Кроме того, воссоздает ли db из резервной копии проблему/избавится от блокировок?
Пожалуйста, дайте мне знать.
Благодарю.
ANALYZE TABLE ожидает получения блокировки метаданных. Пока он ждет, любой SQL-запрос к таблице ожидает ANALYZE TABLE.
ANALYZE TABLE обычно довольно быстрая, т.е. 1-3 секунды. Но эта быстрая операция не начинается, пока не сможет получить блокировку метаданных.
Он не может получить блокировку метаданных, когда у вас есть длительные транзакции, идущие против таблицы. Поэтому, если вы хотите, чтобы это работало быстрее, завершите транзакции.
См. Мой ответ на MySQL, в котором отсутствует ALTER TABLE, который активно записывается для получения дополнительной информации.
ANALYZE TABLE достаточно четко говорит: "Во время анализа таблица блокируется с блокировкой чтения для InnoDB и MyISAM".
Вы можете KILL {connection number}
в SQL, чтобы остановить команду.
Примечание. Вероятно, вы должны обновиться до более новой версии MySQL-5.6.