• 03/02/2017
  • 3 minutes to read
    • m
    • M
    • J
    • r
    • M
    • +3
  • 適用されます。 yesSQL Server (サポートされるすべてのバージョン)

    このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、SQL Server の並列処理サーバー構成オプションのコスト閾値を構成する方法について説明します。 並列処理のコスト閾値オプションは、SQL Server がクエリの並列プランを作成および実行する閾値を指定します。 SQL Serverは、同じクエリに対してシリアルプランを実行した場合の推定コストが、並列化のコストのしきい値で設定した値よりも高い場合にのみ、クエリの並列プランを作成し実行します。 このコストは、特定のハードウェア構成でシリアル プランを実行するために必要な推定コストであり、時間の単位ではありません。 並列化のためのコスト閾値オプションは、0から32767までの任意の値に設定することができます。 デフォルト値は5です。

    このトピックでは

    • 始める前に:

      制限と制約

      推奨事項

      セキュリティ

    • 使用すると、平行のためのコストの閾値を構成することができます。

      SQL Server Management Studio

      Transact-SQL

    • Follow Up: 並列処理のコストしきい値オプションを構成した後

    Before You Begin

    Limitations and Restrictions

    • コストとは推定時間の単位ではなく抽象化した単位のコストのことを指します。

    • SQL Serverは、次の条件下で並列処理用のコストしきい値を無視します:

      • コンピューターには論理プロセッサが1つだけあります。

      • Affinity Mask 構成オプションにより、SQL Server で使用できる論理プロセッサは 1 つだけです。

      • MAX degree of parallelism オプションは 1 に設定されています。

      論理プロセッサはプロセッサ ハードウェアの基本単位で、OS にタスクをディスパッチするかスレッド コンテキストを実行できるようにするものです。 各論理プロセッサは、一度に1つのスレッドコンテキストしか実行できません。 プロセッサコアは、命令をデコードして実行する能力を提供する回路である。 プロセッサコアは、1つまたは複数の論理プロセッサを含むことができます。 次の Transact-SQL クエリは、システムの CPU 情報を取得するために使用できます。

      SELECT (cpu_count / hyperthread_ratio) AS PhysicalCPUs, cpu_count AS logicalCPUs FROM sys.dm_os_sys_info 

      推奨事項

      • このオプションは上級オプションであるため、経験のあるデータベース管理者または認定 SQL Server 専門家のみが変更する必要があります。 これは、並列または直列プランを使用する決定が、最適化プロセスの早い段階で提供されたコスト推定値に基づいているために起こり得ます。 詳細については、『Query Processing Architecture Guide』を参照してください。

      • デフォルト値の 5 はほとんどのシステムで適切ですが、別の値が適切である場合もあります。 アプリケーションのパフォーマンスを最適化するために、必要に応じてより高い値とより低い値でアプリケーションのテストを実施してください。

      Security

      Permissions

      sp_configure でパラメータなしまたは最初のパラメータのみの実行許可は、デフォルトですべてのユーザーに付与されています。 両方のパラメータを指定してsp_configureを実行し、構成オプションを変更したり、RECONFIGURE文を実行するには、ユーザーにALTER SETTINGSサーバ・レベル権限が付与されている必要があります。 ALTER SETTINGS 権限は、sysadmin および serveradmin 固定サーバー ロールによって暗黙的に保持されます。

      Using SQL Server Management Studio

      Parallelism オプションのコスト閾値を構成するには

      1. Object Explorer でサーバーを右クリックし、Properties を選択します。

      2. [詳細設定]ノードをクリックします。

      3. [並列処理]の[並列処理のコスト閾値]オプションを希望する値に変更します。 0 ~ 32767 の値を入力または選択します。

      Using Transact-SQL

      並列処理オプションのコスト閾値を設定するには

      1. データベース エンジンに接続します。

      2. 標準バーから[新しいクエリー]をクリックします。

      3. 次の例をコピーしてクエリーウィンドウに貼り付けて、[実行]をクリックします。 この例では、sp_configure を使用して cost threshold for parallelism オプションの値を 10 に設定する方法を示します。

      USE AdventureWorks2012 ; GO EXEC sp_configure 'show advanced options', 1 ; GO RECONFIGURE GO EXEC sp_configure 'cost threshold for parallelism', 10 ; GO RECONFIGURE GO 

      詳細については、「サーバー構成オプション(SQL Server)」を参照してください。

      続き。 並列処理オプションのコスト閾値の設定後

      サーバーを再起動せずに設定がすぐに反映されます。

      See Also

      Configure Parallel Index Operations
      Query Hints (Transact-SQL)
      ALTER WORKLOAD GROUP (Transact-SQL)
      affinity mask Server Configuration Option
      RECONFIGURE (Transact-SQL)
      Server Configuration Options (SQL Server)
      sp_configure (Transact-SQL)

コメントを残す

メールアドレスが公開されることはありません。