
こんにちは、上の画像のデッドロック グラフの部分をご覧ください。同じテーブルを更新する 2 つのトランザクションがあり、そのうちの 1 つはそのテーブル (同じ行) を 5 回更新する長いトランザクションですが、もう 1 つのトランザクションはそのテーブルを 1 回だけ更新し、小規模です。 2 つの DB ヒットのトランザクション。デッドロック グラフから、両方のトランザクションが異なる行に X ロックを持ち、U ロックを取得しようとしていることが論理的に正しい。短いトランザクションが更新クエリをまだ起動していないのに X ロックを取得する理由がわかりません (デッドロックを引き起こすのは更新クエリであるため、まだ起動されていないことを意味します)。どんな助けも非常に重要です。1) 分離レベル read commit を使用しています 2) 2 番目/1 番目のトランザクションが X ロックを取得する方法を理解できませんが、他のトランザクションはすでにいくつかの行で X ロックを取得しています。