SQLSERVERの3大糞仕様

@ロックエスカレーション 
5000行以上のレコードを一度に更新、或いはロックした場合に発生し、
行ロックがテーブルロックへ昇格する。

Aテーブルスキャンによる ロック待ち
対象テーブルの中でたた一件だけでもロックしているレコードがあると、
まったく関係ない行へのロックが獲得できない場合がある。
発生条件としては、キー、或いはインデックス情報だけでダイレクトに
対象データに到達できないSQLを発行した場合。

B実行プランキャッシュの使用判断基準
一度発行されたSQLの実行プランがキャッシュにある場合、
検索条件の値が異なる同様のSQLが発行されると、
明らかに非効率な検索になるにもかかわらず、強引にキャッシュされた
プランを利用してしまい、いつまでも実行結果が返ってこないことがある。