none
【SQL Server 2016 SP1】 一般的なパーティション分割のアンチパターンを教えて下さい

    質問


  • あるバッチ処理(C# WPFで作成した処理)で、レスポンス改善を目的に、バッチ処理内で参照・更新されているテーブルに対してパーティション関数を作成し、検証を行いましたが、想定に反して、処理時間が1.5倍程度になってしまい、レスポンスが悪化してしまいました。

    そこで教えて頂きたいのですが、一般的にパーティション分割に適していない、レスポンスが悪化してしまう場合というのは、どのような場合なのでしょうか。

    テーブルの性質、テーブルに対する操作などに関する、アンチパターンを教えて頂ければ幸いです。

    また、情報源となるURL等があれば、併せて教えて頂けると大変有難いです。


    2017年10月7日 7:01

すべての返信

  • なんでもかんでもパーティションを用いればパフォーマンスが改善するというものではありません。プロファイラを用いてボトルネックを特定し、その問題個所を改善すべきです。

    アンチパターンというほどのものではありませんが、問題個所から目を背けるべきではありません。

    2017年10月7日 13:45
  • パーティション分割によるメリットは、クエリのデータアクセス範囲を狭めることだと思いますので、テーブルの性質というよりは、実行するクエリの性質に依存するのではないでしょうか。クエリが単一もしくは少数のパーティションにのみアクセスするものであればメリットがあるのではないかと思います。
    2017年10月17日 7:50