Результаты (
русский) 2:
[копия]Скопировано!
Переименование таблицы в MySQL не требует временной таблицы. Есть два заявления, которые выполняют эквивалентную операцию. ПЕРЕИМЕНОВАТЬ TABLE t1 до t2; ALTER TABLE t1 переименовать Т2; #, Пока нет других вариантов, чтобы изменить также указано Переименование таблицы приобретает замок метаданных на таблицу, которая требует, чтобы никаких заявлений не будет работать против стола, никаких сделок не имеют блокировки строк, и никаких сделок не держась соответствии снимков любого MVCC версии таблицы. Либо стиле операция переименования будет пытаться получить блокировку метаданных и впоследствии начал о влияющих на стол будет блокировать, ожидая в ожидании блокировки метаданных. Если вы используете ALTER TABLE имя_таблицы переименовать new_tbl_name без каких-либо других вариантов, MySQL просто переименовывает файлы, соответствующие таблицы имя_таблицы, не делая копию. - http://dev.mysql.com/doc/refman/5.0/en/alter-table.html Обратите внимание, что это ссылка на документацию 5.0, и 5.1, 5.5, 5.6, 5.7 и все имеют ту же самую информацию. Основным задержки можно было увидеть будет поступать из других сессий, препятствующих переименовать начиная потому что замки не может быть немедленно требуется. Если вы в состоянии выполнить FLUSH TABLES имя_таблицы; Заявление и он вернуться в течение нескольких секунд, которые должны служить подтверждением того, что операция переименования будет завершить в подобной количество времени, так как это будет нужно те же замки, с тем, чтобы удалить все записи в кэше запросов, связанных с таблицей, закрыть таблицу, и убирать некоторые внутренние структуры, как объекта долевого стола ... таблица автоматически возобновлено в следующем заявлении, которое обращается его ... так что это дает вам хорошее испытание, чего ожидать и будет хорошей идеей запустить первый, так как он, как правило, собирается сделать фактическое операция переименования немного короче, оставив меньше работы для переименования сделать.
переводится, пожалуйста, подождите..
