特定のテーブルでselect count(*)を実行すると、多くのデッドロックが発生しているようです。私はすでにすべての必要なパラメーターを変更し、それらを行のみのロックにしています。
また、READ_COMMITTED_SNAPSHOT分離を使用するようにデータベースを変更しました。
ただし、select count(*)where column =?テーブル上でデッドロックまたはテーブル上のロックをトリガーします。
select count(*)は中間行にのみアクセスする必要があることは正しいのでしょうか?しかし、それはそのようには見えず、依然としてデッドロックが発生しています。適切な索引付けはおそらく役立つでしょう。
問題は、SQL Server 2008 R2は、read_committed_snapshotがonに設定されている場合でも、select count(*)中にテーブルに共有ロックを設定しますか?
ありがとう
WHERE
句を使用する必要がある場合、私が考えている方法はとにかく機能しません。