
Интересно, хорошая ли это идея использовать empty
функцию phpMyAdmin на таблице размером ~12 ГБ на рабочем сервере. Я не хочу вызывать слишком большую задержку, но мне нужно освободить немного места на диске.
Это необходимо сделать на сервере DELL под управлением Debian:
MySQL 5.1.49 Intel Xeon X3430 @ 2.40Ghz 4GB памяти
Предполагая, что phpMyAdmin использует TRUNCATE
для очистки таблицы. Могу ли я ожидать несколько минут или даже часов для усечения таблицы или это довольно быстрый процесс, аналогичный удалению таблицы?
решение1
Если естьнультранзакции блокируют схему таблицы, TRUNCATE TABLE
команда завершится практически мгновенно. Максимум, что я ждал до сих пор, это 0,1 секунды для усечения таблицы размером 25 ГБ.
В любом случае, TRUNCATE TABLE
команда не имеет нежелательных побочных эффектов ни на что, кроме других операций по обслуживанию. Если сервер не может получить необходимые исключительные блокировки, он заблокируется — но не потому, что требует большого объема ввода-вывода или обработки — он просто ждет своей очереди.