У меня есть таблица MyISAM, которую нужно очищать раз в то время (в общей сложности ~ 5M строк из 12M строк удаляются). После этого мне нужно оптимизировать таблицу, и я знаю, что OPTIMIZE TABLE идет быстрее, если сначала отбрасывать индексы. Проблема заключается в том,Заблокировать таблицу MyISAM для обслуживания
ALTER TABLE t1 DISABLE KEYS;
--> here
OPTIMIZE TABLE t1;
--> or here
ALTER TABLE t1 ENABLE KEYS;
MySQL может принять решение обслуживать некоторые другие запросы, то это приводит к нескольким медленным неиндексированных сканирования таблицы, задерживая дальнейшие шаги.
Итак, как мне заблокировать стол для других потоков?
Похоже, это трюк! Благодарю. "[LOW_PRIORITY] WRITE lock: ... Только сеанс, содержащий блокировку, может обращаться к таблице. Никакая другая сессия не может получить к ней доступ до тех пор, пока блокировка не будет выпущена ..." http://dev.mysql.com/ док/RefMan/5,5/ен/запирание tables.html – CamaroSS