1

SQL Server 2005 は、行レベルのロックまたはページ レベルのロックを既定で使用しますか? 一部の UPDATE でタイムアウト エラーが発生しましたが、これはデフォルトのロック メカニズムに関連しているのではないかと考えています。

4

1 に答える 1

2

SQL Server は常にrow-levelデフォルトでロックを使用します

一定量 (5000) を超える行をロックするSQL Serverと、ロック エスカレーション(5000 行を超える行を個別にロックする代わりにテーブルをロックする) が行われ、パフォーマンスが最適化され、リソースの使用が最適化されます。

私の提案は、トランザクションをできるだけ短くすることです..または、マスターテーブルのような複数のユーザーによる連続挿入に使用されていないテーブルに with(NoLock) を使用できます...

もう 1 つの提案は、SQL プロファイラーを使用することです。

于 2012-05-30T17:52:41.443 に答える