У меня есть большая таблица в SQL Server 2005, которая занимает около 3,5 ГБ пространства (согласно sp_spaceused). Он содержит 10 миллионов записей и несколько индексов.SQL Server 2005: дисковое пространство, занятое сброшенными столбцами
Я просто сбросил с него кучу столбцов, так что длина записи уменьшилась до половины, и, к моему удивлению, для этого потребовалось нулевое время. Очевидно, что sp_spaceused все еще сообщал о том же занятом пространстве, что SQL-сервер ничего не делал при удалении столбцов, кроме того, что они помечены как «отброшенные».
Таким образом, я переместил все данные из этой таблицы в другую новую таблицу, усекал ее и переместил все данные назад, чтобы получить все реконструированные.
Теперь данные берут 2,8 ГБ, что меньше, чем раньше, но я ожидал большего падения.
Возможно ли, что тот факт, что эта таблица первоначально имела эти столбцы, все еще оставляет что-то там?
Усекали его недостаточно? Должен ли я сбросить его и создать его снова с меньшим набором столбцов?
Или данные действительно принимают 2,8 ГБ?
Спасибо!
И только если предположить, что это таблица 3,5 ГБ, эта операция будет в порядке с запущенной системой? – marquito
@marquito: это потребует простоев, чтобы завершить эту операцию - конечно - никоим образом не вокруг. –
спасибо, @marc_s. Поскольку я сталкиваюсь с такой же ситуацией, хорошо знать, что мне придется ждать, чтобы выполнить процедуру или столкнуться с последствиями. :) – marquito