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