SQL Serverでのデータベースの圧縮と縮小は同じですか?テーブルを圧縮すると、クエリのパフォーマンスとDMLが低下しますか?
SQL Serverでは、データベース/データファイルの圧縮と圧縮は同じではありません。ファイルの圧縮(ちなみに 実際にはお勧めしません )は、データベース内のデータファイルから未使用の領域を削除するプロセスです。ファイルが作成されると、SQL Serverは、実際にそのスペースを満たすデータがない場合でも、(ファイルの作成方法に応じて)ファイルのサイズを変更してスペースを「予約」します。アイデアは、最終的にそこに何かを置くことです(ただし常にではない)。 縮小 この空のスペースを削除します。
データ圧縮 一方、オブジェクトを圧縮して、データファイル内のスペースを減らします。いくつかの異なるタイプの圧縮がありますが、それらすべてが最終的に行うことは、テーブルとインデックスに必要な物理スペースを削減することです。
1 MBのデータファイルに600 MB相当の実際のデータが含まれているとします。 2つの操作には次の影響があります。
2番目の質問では、圧縮はCPUに負荷がかかります(データを圧縮解除して使用する必要があります)が、ディスクの使用量は少なくなりますIO(ディスクをプルするためのビットが少なくなります)。それ- might CPUに制約がある場合、クエリのパフォーマンスに影響します。適切に評価する唯一の方法は、テストすることです。