Долго ли выполняется TRUNCATE на огромных таблицах 10гиг+?

Долго ли выполняется TRUNCATE на огромных таблицах 10гиг+?

Интересно, хорошая ли это идея использовать 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команда не имеет нежелательных побочных эффектов ни на что, кроме других операций по обслуживанию. Если сервер не может получить необходимые исключительные блокировки, он заблокируется — но не потому, что требует большого объема ввода-вывода или обработки — он просто ждет своей очереди.

Связанный контент