Оба выбрасывают данные.И это не «транзакционный», поэтому вы не можете восстановить данные с помощью ROLLBACK
.
DROP PARTITION
также удаляет раздел из списка разделов.
TRUNCATE PARTITION
оставляетраздел на месте, но пустой.
Обычно DROP PARTITION
используется для удаления "старых" строк.Подумайте о таблице информации, которую нужно хранить только 90 дней.Используйте PARTITION BY RANGE(TO_DAYS(...))
и еженедельные разделы.Затем каждую неделю DROP
самый старый и ADD
новый раздел.Подробнее здесь .
Я не видел необходимости в TRUNCATE
.
Имейте в виду, что существует очень мало случаев использования, когда выможет получить любую выгоду от PARTITIONing
.До сих пор я нашел использование только для PARTITION BY RANGE
.