SQL Server 2012 でデッドロック状態になります。
SQL Server Profiler を実行した後、次のようなデッドロック グラフが表示されました。
マウスをプロセス (楕円形) の上に移動すると、両方のプロセスで同一の PrepareStatement クエリが表示されました (私は JDBC を使用しています)。
私が使用しているクエリは次のとおりです。
MERGE INTO MA4TB_MT_LOG_MSG USING (VALUES (1)) AS S(Num) ON ( MSG_ID = ? )
WHEN MATCHED THEN
UPDATE SET
DIST_DATE = ?,
DIST_CODE = ?
WHEN NOT MATCHED THEN
INSERT (
MSG_ID, DIST_DATE, DIST_CODE
) VALUES (
?,?,?
);
気になるのは、キーロックリソースボックスの下のインデックス名です。
MA4TB_MT_LOG_MSG テーブルの下に「1」というインデックスがありません。
MSG_ID は MA4TB_MT_LOG_MSG の主キーであり、DIST_DATE、DIST_CODE にはインデックスがありません。
この行き詰まりの状況に関するアドバイスをいただければ幸いです。
前もって感謝します、