0

最近、アプリケーション テーブルでパージを実行しました。11.12GB のディスク容量を使用した合計 110 万件の記録。

860k レコードを削除して 290k レコードのままにしているのに、使用されているスペースが 11.09GB までしか減らないのはなぜですか?

レポート - ディスクの使用状況 - データ ファイルによって使用されるディスク容量 - 使用される容量の詳細を監視します。

データファイルを圧縮する必要がありますか? これは長い間私を困惑させてきました。

4

4 に答える 4

3

MS SQL Server の場合、クラスター化インデックスを再構築します。

行を削除しただけで、再利用されたスペースではありません。

DBCC DBREINDEXまたはALTER INDEX ...バージョンによってはWITH REBUILD

(ディスク容量レポートは SSMS にあるため、MS SQL です)

于 2009-06-01T09:33:33.703 に答える
1

データ ファイルを圧縮する操作 (データベース管理システムに固有) を明示的に呼び出す必要があります。データベース エンジンは、レコードを削除するときにファイルを圧縮しません。これは最適化のためです。圧縮には時間がかかります。

于 2009-06-01T09:19:44.963 に答える
0

これは、Thunderbird のメール フォルダーに似ていると思います。何かを削除すると、削除済みとしてマークされるだけですが、より高いパフォーマンスを得るために、スペースは解放されません。したがって、11.09 GB のほとんどには、古いデータまたは 0 が含まれます。シュリンク データ ファイルは、残っている実際のデータのみを含む新しいファイルを作成することにより、これを「圧縮」(または「クリーン」) します。

于 2009-06-01T09:20:04.057 に答える
0

おそらく、テーブルを縮小する必要があります。SQLサーバーがデフォルトでそれを行わないことは知っています。これはパフォーマンス上の理由によるものだと思います。おそらく他のDBも同じです。

于 2009-06-01T09:20:22.137 に答える