QA@IT
«回答へ戻る

回答を投稿

こんにちは。

MAXDOPは並列度の最大値を変更するだけで、
強制するパラメータではないために、実現したい内容に対しては効果がありません。
cost threshold for parallelismを既定値の5より小さくすることで、
並列度は上がるケースがありますが、それも試されたようなので別の対処を
検討する必要がありそうです。

SQL Serverの動作としては、
・CPU数
・空きスレッド数
・クエリとインデックスの状況
・行数
・統計情報
に基づいて並列度をオプティマイザが決定します。
http://msdn.microsoft.com/ja-jp/library/ms188611.aspx

これらの要素の内、比較的変更しやすいのが、
統計情報となりますので、統計情報の手動更新を実施してみる、
というのが次の対処となるかと思います。

それでも速度が改善しない場合、
根本的なクエリチューニングが次の手になるかと思います。

こんにちは。

MAXDOPは並列度の最大値を変更するだけで、
強制するパラメータではないために、実現したい内容に対しては効果がありません。
cost threshold for parallelismを既定値の5より小さくすることで、
並列度は上がるケースがありますが、それも試されたようなので別の対処を
検討する必要がありそうです。

SQL Serverの動作としては、
・CPU数
・空きスレッド数
・クエリとインデックスの状況
・行数
・統計情報
に基づいて並列度をオプティマイザが決定します。
http://msdn.microsoft.com/ja-jp/library/ms188611.aspx

これらの要素の内、比較的変更しやすいのが、
統計情報となりますので、統計情報の手動更新を実施してみる、
というのが次の対処となるかと思います。

それでも速度が改善しない場合、
根本的なクエリチューニングが次の手になるかと思います。