SQL Server プロファイラーの実行中に、いくつかの Lock:Escalation に達しました。Lock:Escalation イベントと同じ SPID を持つステートメントを検索したところ、delete ステートメントの 1 つがこれを引き起こしていることがわかりました。
そのような場所でロックのエスカレーションが発生する理由を調べる方法はありますか?
ステートメントは次のようになります。
delete from BOOK_IN_LIBRARY where libraryId in (,,,,); <-20 elements ids
CREATE TABLE BOOK_IN_LIBRARY(
[libraryId] [bigint] NOT NULL,
[bookId] [bigint] NULL,
[otherData] [bigint]NULL,
[otherData2] [int] NULL,
[otherData3] [int] NOT NULL,
PRIMARY KEY CLUSTERED
(
[libraryId] ASC,
[bookId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]