Поэтому я не уверен Ответ Мэтта Рогиша поможет на 100%.
Проблема в том, что MySQL * имеет мьютекс (взаимоисключающую блокировку) вокруг открытие и закрытие таблиц, так что в основном это означает, что если таблица находится в процессе закрытия / удаления, нет других таблиц, которые нельзя открыть.
Это описано моим коллегой здесь: http://www.mysqlperformanceblog.com/2009/06/16/slow-drop-table/
Отличная стратегия уменьшения воздействия - использование файловой системы, такой как XFS.
Обходной путь уродливый. По сути, вы должны откусить все данные в таблицах, прежде чем отбрасывать их (см. Комментарий № 11 по ссылке выше).
Следующее прочь skaffman:
Измените свой my.cnf (и перезапустите MySQL) для включения:
innodb_file_per_table = 1
(http://mysqldba.blogspot.com/2006/12/innodbfilepertable.html)
Это даст выделенное хранилище файлов Ваших баз данных и вынимать его из общего пула. Это затем позволит Вам сделать, забавным вещам нравится, помещают таблицы/индексы в различные физические диски, чтобы еще больше разделить ввод-вывод и улучшают производительность.
Обратите внимание, что это не изменяет существующие таблицы; необходимо будет сделать работу для получения их в их собственном файле (http://capttofu.livejournal.com/11791.html).
По умолчанию все innodb базы данных в данной mysql установке сервера используют тот же физический пул файлов данных, таким образом, очевидно "база данных отбрасывания" могла влиять на базу данных B. Начиная с "база данных отбрасывания", вероятно, включит тяжелый reorgainsing innodb файлов данных, возможно, что это - операция блокирования, или из-за интенсивности операции, или дизайном.
Однако я думаю, что можно заставить каждую базу данных использовать различные физические файлы, хотя я не попробовал это сам, таким образом, необходимо будет выяснить специфические особенности для себя. При сбое этого затем Вы, возможно, должны использовать две различных установки mysql бок о бок на той же машине, которая является совершенно выполнимой.