- 書いたきっかけ
-
使用しているタイムアウト値
- そのほか
■書いたきっかけ
クエリ発行タイムアウト設定値の関係で、くそ重クエリが途中キャンセルなったので設定値延ばしたら問題になった件。
内結で指摘されたからよかったものの、WEBサービスでテーブルロック待機2時間待てる状態とかヤバイ。
※本記事はSQLServer。接続文字列でなく、xmlファイルに記述
■使用しているタイムアウト値
〇プロパティ設定値
設定値の単位は秒
・接続タイムアウト
→DB接続できない判定はこっち
<property name="ConnectTimeout" value="60" />
・クエリ発行タイムアウト
<property name="CommandTimeout" value="60" />
〇オプション設定値
設定値の単位はミリ秒
・ロックテーブルタイムアウト ← 今回新規追加
→これを設定しないでロックテーブルへのクエリ実行を行った場合、クエリ発行タイムアウトが切れるまで延々と待機する
<option name="LOCK_TIMEOUT" value="60000" />
■そのほか
参考サイト
〇ロックテーブル再現
〇リファレンス