Назад | Перейти на главную страницу

У TRUNCATE много времени на огромных столах 10гиг +

Интересно, стоит ли использовать phpMyAdmin empty функция на столе с ~ 12 ГБ на рабочем сервере. Я не хочу вызывать слишком большие задержки, но мне нужно освободить место на диске.

Это необходимо сделать на сервере DELL под управлением Debian:

MySQL 5.1.49 Intel Xeon X3430 @ 2,40 ГГц, 4 ГБ памяти

Предполагая, что phpMyAdmin использует TRUNCATE чтобы очистить стол. Могу ли я ожидать, что несколько минут или даже часов усекут таблицу, или это довольно быстрый процесс, аналогичный удалению таблицы?

Если есть нуль транзакции, блокирующие схему таблицы, TRUNCATE TABLE команда завершится почти мгновенно. Максимум, чего я ждал до сих пор, было 0,1 секунды для усечения таблицы размером 25 ГБ.

В любом случае TRUNCATE TABLE не имеет нежелательных побочных эффектов ни для чего, кроме других операций обслуживания. Если сервер не может получить необходимые эксклюзивные блокировки, он заблокируется - но не потому, что для этого требуется большой объем операций ввода-вывода или обработки - он просто ожидает своей очереди.