sql >> データベース >  >> RDS >> Sqlserver

単一の SQL delete ステートメントでデッドロックが発生するのはなぜですか?

    通常の答え:それは依存します! :-)

    主に、システム上のトラフィックの量と、使用しているトランザクション分離レベルについてです。

    分離レベルは、データの取得方法とロックの程度を制御します。トランザクション分離レベルについて聞いたことがない場合は、おそらくデフォルトの READ COMMITTED を使用しているでしょう。

    ただし、 SERIALIZABLE のようなものを使用する場合 なんらかの理由で、デッドロックではなく遅延が発生する可能性があります。 1 つのトランザクションが完了するまで、テーブルは一定期間ロックされる場合があります。すべての操作がこの順序 (最初に削除、次に挿入、選択) で機能する場合、実際にデッドロックがどのように発生するかわかりません。

    www.sql-server- で SQL トランザクションの分離レベルを確認してください。パフォーマンス.com .



    1. SQL Server 2008のEntityFramework(LINQを使用)でのオフセット/フェッチベースのページング(実装)

    2. 自動インクリメントシーケンスpl-sqlをリセットします

    3. マルチパート識別子TextBox1.TextをC#ASP.NETでバインドできませんでしたか?

    4. 2つのテーブルからカウントを取得し、月ごとにグループ化