SQL 2005 Уменьшить размер таблицы большой таблицы с 0 записей - PullRequest
0 голосов
/ 14 июля 2010

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

БД SQL 2005

Как я могу уменьшить размер этих таблиц?

Ответы [ 2 ]

2 голосов
/ 14 июля 2010

Поскольку в нуле нет строк, самый простой способ сделать это - удалить и заново создать таблицу.

Вы можете использовать dbcc shrinkdatabase или dbcc shrinkfile, однако вы не можете сжать одну таблицу, если толькоон хранится в отдельной файловой группе.

Это «зарезервированное пространство», которое вы хотите удалить, можно использовать для следующих новых данных, добавленных в эту таблицу, без необходимости резервировать базу данных при следующей вставке данных.Если вы удалите пространство, а затем вставите много строк, необходимость его повторного выделения добавит немного дополнительных затрат на вставку этих новых данных.

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

0 голосов
/ 19 июля 2010

SQL Server на самом деле не выпустит страницу до тех пор, пока позже.Выполните перестройку индекса (не дефрагментацию) для таблицы, и это должно освободить свободное пространство обратно в базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...