サイズが約 4GB の SQL Server 2005 上のテーブルがあります。
(約1700万件)
フィールドの 1 つを datatypechar(30)
からに変更しましたchar(60)
(合計で 25 のフィールドがあり、そのほとんどがchar(10)
char スペースの合計で約 300 になります)。
これにより、テーブルのサイズが 2 倍になりました (9 GB 以上)。
次に、をに変更しchar(60)
、varchar(60)
データから余分な空白を削除する関数を実行しました (フィールド内のデータの平均長を約 15 に減らすため)。
これにより、テーブルのサイズが縮小されませんでした。データベースの縮小も役に立ちませんでした。
実際にテーブル構造を再作成してデータをコピーする以外に (つまり、1,700 万レコードです!)、サイズを元に戻すためのより抜本的な方法はありますか?