2016-09-16 10 views
1

При использовании команд DELETE и TRUNCATE в MySQL это пространство памяти, выпущенное в процессе? Скажите, если моя таблица занимает 100 КБ, и я удаляю все строки, сколько памяти освобождается? И если я ПРОВЕРЯЮТ таблицу, сколько места будет выпущено, если таковое имеется?Объем памяти MySQL

Как только я удаляю или убираю все строки, присутствующие в таблице 100 КБ, что происходит с 100 КБ в каждом случае?

ответ

2

Память не распространяется как часть операции DELETE или TRUNCATE. Фактически, память может потребляться, если используются буферы. Это обычно не имеет значения, поскольку, поскольку это будет повторно использоваться для других целей, когда это необходимо.

Дисковое пространство может быть выпущено в зависимости от того, какой механизм хранения вы используете и как он настроен. По умолчанию InnoDB выделяет все больше и больше хранилищ на диске, но никогда не выпускает его, поэтому вы застряли с максимальным распределением, отметкой с высоким уровнем воды. Освобождение от него не дает вам свободного места на диске, но это дает вам больше места для хранения данных MySQL. Он только что зарезервирован.

+0

Если я не получу больше места в памяти, то в чем заключается использование DELETING или TRUNCATing таблицы 100KB? Я мог бы также оставить таблицу, даже если это бесполезно для меня. Прошу прощения, если мои сомнения действительно основные. Я никогда не понимал, как эти функции работают в памяти. –

Смежные вопросы