У меня есть таблица на SQL Server 2005 размером около 4 ГБ.
(около 17 миллионов записей)
Я сменил одно из полей типа данных char(30)
на char(60)
(всего 25 полей, большинство из которых char(10)
, поэтому объем пространства char составляет около 300)
Это привело к удвоению таблицы (более 9 гб)
Затем я изменил char(60)
на varchar(60)
, а затем выполнил функцию, чтобы вырезать лишние пробелы из данных (чтобы уменьшить среднюю длину данных в поле до примерно 15)
Это не уменьшило размер таблицы. Сокращение базы данных тоже не помогло.
За исключением фактического воссоздания структуры таблицы и копирования данных (это 17 миллионов записей!) существует ли менее решительный способ вернуть размер обратно?