Освобождение места из таблицы MyISAM после удаления данных - PullRequest
0 голосов
/ 17 января 2020

У меня есть таблица MyISAM, из которой я удалил строки на 21,7 ГБ, но, конечно, пространство до сих пор не освобождено для жесткого диска. Я читал о команде OPTIMIZE TABLE, однако, к сожалению, на моем сервере доступно только 17 ГБ, и я понимаю, что файл перед копированием дублируется, чего не может быть без 22 ГБ.

Эта таблица больше не будет использоваться. Это пространство никогда не будет возвращено естественным путем, поэтому нет никаких причин, чтобы держать его там, и я хотел бы вернуть его. Остальная часть БД, в которой он находится, все еще используется. Есть ли способ действительно освободить пространство или заставить БД распределить это пространство в другой таблице, которая все еще используется?

(можно было бы изменить код, чтобы использовать эту таблицу вместо другой Таким образом, используя это свободное пространство, но я бы предпочел не прибегать к этому)

1 Ответ

1 голос
/ 17 января 2020

Скопируйте оставшиеся данные в новую таблицу, затем отбросьте старую таблицу. Это вернет хранилище.

...