最近、アプリケーション テーブルでパージを実行しました。11.12GB のディスク容量を使用した合計 110 万件の記録。
860k レコードを削除して 290k レコードのままにしているのに、使用されているスペースが 11.09GB までしか減らないのはなぜですか?
レポート - ディスクの使用状況 - データ ファイルによって使用されるディスク容量 - 使用される容量の詳細を監視します。
データファイルを圧縮する必要がありますか? これは長い間私を困惑させてきました。
最近、アプリケーション テーブルでパージを実行しました。11.12GB のディスク容量を使用した合計 110 万件の記録。
860k レコードを削除して 290k レコードのままにしているのに、使用されているスペースが 11.09GB までしか減らないのはなぜですか?
レポート - ディスクの使用状況 - データ ファイルによって使用されるディスク容量 - 使用される容量の詳細を監視します。
データファイルを圧縮する必要がありますか? これは長い間私を困惑させてきました。
MS SQL Server の場合、クラスター化インデックスを再構築します。
行を削除しただけで、再利用されたスペースではありません。
DBCC DBREINDEXまたはALTER INDEX ...バージョンによってはWITH REBUILD
(ディスク容量レポートは SSMS にあるため、MS SQL です)
データ ファイルを圧縮する操作 (データベース管理システムに固有) を明示的に呼び出す必要があります。データベース エンジンは、レコードを削除するときにファイルを圧縮しません。これは最適化のためです。圧縮には時間がかかります。
これは、Thunderbird のメール フォルダーに似ていると思います。何かを削除すると、削除済みとしてマークされるだけですが、より高いパフォーマンスを得るために、スペースは解放されません。したがって、11.09 GB のほとんどには、古いデータまたは 0 が含まれます。シュリンク データ ファイルは、残っている実際のデータのみを含む新しいファイルを作成することにより、これを「圧縮」(または「クリーン」) します。
おそらく、テーブルを縮小する必要があります。SQLサーバーがデフォルトでそれを行わないことは知っています。これはパフォーマンス上の理由によるものだと思います。おそらく他のDBも同じです。