すべてのプロダクト
Search
ドキュメントセンター

PolarDB:SQL タイムアウト期間のカスタマイズ方法

最終更新日:Mar 29, 2026

PolarDB-X では、SQL タイムアウト期間を変更するためのカスタム HINT 文が提供されています。

PolarDB-X は、コンピュートノードからストレージノードへ送信される SQL ステートメントに対して、デフォルトで 900 秒のタイムアウトを適用します。実行に長い時間が必要な正当なスロー SQL ステートメントについては、SOCKET_TIMEOUT HINT を使用して、ステートメント単位でタイムアウト値を設定してください。

注意事項

  • PolarDB-X の HINT は、/*+TDDL:hint_command*/ および /!+TDDL:hint_command*/ の 2 つのフォーマットをサポートしています。
  • 公式 MySQL コマンドラインクライアントで /*+TDDL:*/ フォーマットを使用する場合、ログイン時に -c フラグを指定する必要があります。-c を指定しないと、クライアントがサーバーへステートメントを送信する前に PolarDB-X の HINT を削除してしまいます。詳細については、「MySQL のコメント」および「mysql クライアントのオプション」をご参照ください。

構文

/*+TDDL:SOCKET_TIMEOUT(time)*/

time にはミリ秒単位の値を指定します。

SELECT ステートメントのタイムアウトを 40 秒に設定します:

/*+TDDL:SOCKET_TIMEOUT(40000)*/SELECT * FROM t_item;
重要 タイムアウト値を長く設定すると、データベースリソースがステートメントの全実行期間中占有されたままになります。多数の長時間実行中の SQL ステートメントが同時に実行されると、リソース枯渇により PolarDB-X の可用性が低下する可能性があります。延長されたタイムアウトに依存するのではなく、長時間実行中の SQL ステートメント自体の最適化を推奨します。