none
【SQLServer】パーティション分割で効果が出なかった場合の原因追究について RRS feed

  • 質問


  • はじめまして、otsuriと申します。

    不勉強な部分は多々あると思いますが、質問させて下さい。

    【質問内容】
     SQLServerのパーティション分割機能を使って業務アプリケーション(WPF)に効果が出るかを測定しています。
     ある処理(概要:年月データの退避)について計測をした所、効果が出る前提でしたが逆に遅くなる結果となりました。

     原因については評価した結果、以下の内容がまず考えられます。

      原因1:更新クエリ(INSERT)内に一部集計関数が使用されている → パーティション分割列以外の列の為、パフォーマンス低下を起こしている

     他に考えれる原因が無いかを確認しているのですが、更新先に既にあるテーブルのレコード件数とこれから更新するレコード件数が関連してパフォーマンス低下する可能性があるかどうかを知りたいと思っています。

     以下、周辺情報です。
     -------------------------------------------------------------------------------------------------------------

      (処理特性)
      ・更新対象テーブルにパーティション分割を実施、キーに含まれる年月をパーティション分割列としています。
          ・更新対象テーブルには約1,800万レコードあり、更新元テーブルには約145万件レコード(更新件数)があります。

      (スペック)
      ・仮想サーバー(VMWare) OS:WindowsServer2016
      ・HDD:300GB

    MicroSoft Docs等のページは目を通していますが、何か見落としている部分があるかもしれません。
    直接の回答でなくとも調査のヒントとなる情報でも構いません。
    よろしくお願いします。

    2017年10月12日 1:43

すべての返信