メモってこ!

IT関連系のあれやこれ

DBのタイムアウト設定値

 

■書いたきっかけ

クエリ発行タイムアウト設定値の関係で、くそ重クエリが途中キャンセルなったので設定値延ばしたら問題になった件。

内結で指摘されたからよかったものの、WEBサービスでテーブルロック待機2時間待てる状態とかヤバイ。

※本記事はSQLServer。接続文字列でなく、xmlファイルに記述

 

■使用しているタイムアウト

〇プロパティ設定値

設定値の単位は

・接続タイムアウト

 →DB接続できない判定はこっち

<property name="ConnectTimeout"        value="60" />

・クエリ発行タイムアウト

<property name="CommandTimeout"        value="60" />

 

〇オプション設定値

設定値の単位はミリ秒

・ロックテーブルタイムアウト ← 今回新規追加

 →これを設定しないでロックテーブルへのクエリ実行を行った場合、クエリ発行タイムアウトが切れるまで延々と待機する

<option name="LOCK_TIMEOUT"                value="60000" />

 

■そのほか

参考サイト

 

〇ロックテーブル再現

maitakeramen.hatenablog.com

 

〇リファレンス

maitakeramen.hatenablog.com