Версия MySQL: 5.1.63.
Я собираюсь удалить большую таблицу InnoDB размером ~ 8 ГБ. На прошлой неделе я сбросил стол в четыре раза больше на другой компьютер, и сработала глобальная блокировка, которая отключила нас на ~ 90 секунд. Я подозреваю, что это связано с table_cache
замок. Кто-нибудь, кто знает, как сделать это падение более плавным? УДАЛЯЕТ сначала небольшими партиями, затем TRUNCATE
это и, наконец, DROP TABLE
? Очевидно, я хотел бы, чтобы эти базы данных были в рабочем состоянии, если это возможно. Я также подумывал об уменьшении пула буферов перед падением.
Я хотел бы услышать ваш вклад.
DROP TABLE
всегда нужно несколько глобальных блокировок. Я бы сделал именно то, что вы описали в своем вопросе: удалил строки так быстро, как это безопасно (не слишком сильно нарушайте дисковый ввод-вывод и различные кеши, также будьте осторожны с репликацией), а затем отбросьте его.