User manual
プロセス・スレッド・モデル
124 Sybase IQ
スレッド不足エラー
発行したクエリの開始に必要なサーバ・スレッドが不足している場合は、次の
ようなエラーが発生します。
Not enough server threads available for this query
この状況は、すぐに解消される場合もあります。他のクエリが完了してからク
エリを発行すると、使用可能なスレッドが増えるため、クエリが成功する場合
があります。この状況が続く場合は、次の項で説明するように、サーバを再起
動し、Sybase IQ スレッド数にさらに大きな値を指定する必要があります。
スレッド使用を管理するための Sybase IQ オプション
Sybase IQ には、スレッド使用の管理に役立つ次のオプションがあります。
• Sybase IQ に使用可能な最大スレッド数を設定するには、サーバ起動オプ
ション -iqmt を設定します。デフォルト値は接続数と CPU 数によって計
算され、通常、デフォルト値をそのまま使用できます。
• サーバ内の内部実行スレッドのスタック・サイズを設定するには、サーバ
起動オプション -iqtss を設定します。通常はデフォルト値で十分ですが、
複雑なクエリを実行したときに、スタックの深さがこの制限を超えている
ことを示すエラーが返された場合は、値を増やします。-iqmt および -iqtss
の詳細については、『Sybase IQ ユーティリティ・ガイド』の「第 1 章 デー
タベース・サーバの実行」を参照してください。
• ユーザ 1 人あたりに使用するスレッド数の最大値を設定するには、SET
OPTION MAX_IQ_THREADS_PER_CONNECTION コマンドを発行します。
特定の動作に使用するリソースの量を制御する場合にも、このコマンドを
使用します。たとえば、DBA は INSERT または LOAD コマンドを使用する
前にこのオプションを設定できます。