SQL Server 2005 は、行レベルのロックまたはページ レベルのロックを既定で使用しますか? 一部の UPDATE でタイムアウト エラーが発生しましたが、これはデフォルトのロック メカニズムに関連しているのではないかと考えています。
質問する
2457 次
1 に答える
2
SQL Server は常にrow-level
デフォルトでロックを使用します
一定量 (5000) を超える行をロックするSQL Server
と、ロック エスカレーション(5000 行を超える行を個別にロックする代わりにテーブルをロックする) が行われ、パフォーマンスが最適化され、リソースの使用が最適化されます。
私の提案は、トランザクションをできるだけ短くすることです..または、マスターテーブルのような複数のユーザーによる連続挿入に使用されていないテーブルに with(NoLock) を使用できます...
もう 1 つの提案は、SQL プロファイラーを使用することです。
于 2012-05-30T17:52:41.443 に答える