SQL Server 2008、DMV sys.dm_db_index_physical_stats
では、compressed_page_count
と比較してpage_count
はどういう意味ですか。次の情報が記載されたテーブルがあります。
Object_id Index_type_desc avg_frag_in_percent page_count compressed_page_count avg_page_space_used_in_percent avg_record_size_in_bytes
5464654 CLUSTERED INDEX 0 140992 1410 99.24 111.2
4465464 NONCLUSTERED INDEX 0 52532 526 99.69 32.2
テーブルには140992ページがありますが、圧縮後は1410ページか何か他のものになりますか?
[BOL says:]
[〜#〜] msdn [〜#〜] compressed_page_count:圧縮されたページの数。
クラスター化されたインデックスには140992ページがあり、そのうち1410ページのみがページ圧縮されています。ページ圧縮は、いっぱいになったときにのみ試行されます。 ページ圧縮が発生した場合 を参照してください。
ページ圧縮のある新しいテーブルが作成されると、圧縮は行われません。ただし、テーブルのメタデータは、ページ圧縮を使用する必要があることを示しています。データが最初のデータページに追加されると、データは行圧縮されます。ページがいっぱいではないため、ページの圧縮によるメリットはありません。ページがいっぱいになると、次に追加される行がページ圧縮操作を開始します。ページ全体がレビューされます。各列はプレフィックス圧縮について評価され、次にすべての列が辞書圧縮について評価されます。ページ圧縮によってページに追加の行用の十分なスペースが作成された場合、その行が追加され、データは行圧縮とページ圧縮の両方になります。ページ圧縮によって得られたスペースからCI構造に必要なスペースを引いたものが重要でない場合、ページ圧縮はそのページには使用されません。将来の行は新しいページに収まるか、収まらない場合は新しいページがテーブルに追加されます。最初のページと同様に、新しいページは最初はページ圧縮されていません。
あなたの場合、圧縮されたページはごくわずかのようです。行圧縮の恩恵を受けることに注意してください。
以下のtechnetwikiの記事は、compressed_page_count列の意味を理解するのに役立ちます。