同時実行クエリの制限¶
このトピックでは、ウェアハウスの所有者または管理者が、ウェアハウスで同時に実行されているクエリの数を減らして、それらのクエリのパフォーマンスを向上させる方法について説明します。
ウェアハウスで同時に実行されるクエリは、ウェアハウスのリソースを共有する必要があります。つまり、各クエリに振り分けられるリソースが少なくなる可能性があります。 MAX_CONCURRENCY_LEVEL パラメーターを使用して、ウェアハウスで実行される同時クエリの数を制限できます。ウェアハウスのリソースをめぐって競合するクエリが少なくなるため、1つのクエリに対してより多くのリソースを振り分けられる可能性が高くなります。
同時実行レベルを下げると、個別のクエリ、特に大規模、複雑、または複数ステートメントのクエリのパフォーマンスが向上する可能性がありますが、これらの調整は十分にテストして、目的の効果があることを確認する必要があります。
ウェアハウスの MAX_CONCURRENCY_LEVEL を下げると、より多くのクエリがキューに配置される可能性があることに注意してください。クエリのパフォーマンスに影響します。専用ウェアハウスの使用や Query Acceleration Service の使用などの他の戦略では、残りのワークロードに影響を与えることなく、大規模または複雑なクエリのパフォーマンスを向上させることができます。
詳細については、 MAX_CONCURRENCY_LEVEL をご参照ください。
注釈
STATEMENT_QUEUED_TIMEOUT_IN_SECONDS パラメーターを調整すると、クエリを長時間キューに残すのではなく、キャンセルできます。
MAX_CONCURRENCY_LEVEL を下げる方法¶
デフォルトの最大同時実行レベルは8です。レベルを下げるには、 ALTER WAREHOUSE コマンドを使用してより低い数値を指定します。例:
ALTER WAREHOUSE my_wh SET MAX_CONCURRENCY_LEVEL = 4;