none
圧縮とパフォーマンスについての問題 RRS feed

  • 質問

  • MCPの模擬問題で圧縮に関するものがありました。

    SQL2008R2サーバでDBにひとつの大きいテーブルが4つのパーティションに分けて保管されています。

    まえ2つのパーティションはほとんどクエリされない。3つ目のパーティションは定期的にいくつかのレポートからクエリされる。

    4つ目のパーティションはよくクエリされ定期的に変更される。

    ディスクの使用を最小限にし、クエリパフォーマンスは最小の影響でないといけない。

    何をするべきか?

    答え、まえ2つのパーティションはページ圧縮、3つ目のパーティションは行圧縮

     

    http://d.hatena.ne.jp/matu_tak/20100208/1265533126

    ↑読み取りは圧縮してもパフォーマンスはよくなるようなことがかいてありますが、

    追加、変更となると著しくパフォーマンスが落ちるのでしょうか?

     

    2011年4月26日 5:51

回答

  • SQL Serverはページの単位で物理操作をするので、1ページに入るデータ量が増える(=圧縮をする)ことで
    効率よくデータを読み込めるため、メリットがあります。
    その反面、更新をすると圧縮/展開を都度行います。
    更新頻度が高いとそれらの処理のコストも馬鹿にならないでしょう。
    またページ内のデータ操作をする際にはラッチを使うので、ラッチ待ちになる確率もあがるのではないでしょうか。

    http://support.microsoft.com/kb/822101/ja
    http://msdn.microsoft.com/ja-jp/library/ms179984.aspx
    • 回答としてマーク nodame2010 2011年4月27日 4:02
    2011年4月27日 2:09
    モデレータ

すべての返信