Sql server 如何解决SQL Server中由于页面锁定而导致的死锁
我在SQL Server中有一个表Sql server 如何解决SQL Server中由于页面锁定而导致的死锁,sql-server,locking,deadlock,sql-delete,Sql Server,Locking,Deadlock,Sql Delete,我在SQL Server中有一个表adjustment\u details\u backup。我已将表格的模式附在此处: +---------------------------+---------+------------+-------------------------+ | Name | Owner | Type | Created_datetime | |---------------------------+--
adjustment\u details\u backup
。我已将表格的模式附在此处:
+---------------------------+---------+------------+-------------------------+
| Name | Owner | Type | Created_datetime |
|---------------------------+---------+------------+-------------------------|
| adjustment_details_backup | dbo | user table | 2020-02-24 13:14:20.370 |
+---------------------------+---------+------------+-------------------------+
+---------------+----------+------------+----------+--------+---------+------------+----------------------+
| Column_name | Type | Computed | Length | Prec | Scale | Nullable | TrimTrailingBlanks |
|---------------+----------+------------+----------+--------+---------+------------+----------------------+
| id | int | no | 4 | 10 | 0 | no | (n/a) |
| cid | int | no | 4 | 10 | 0 | no | (n/a) |
| promotion_id | int | no | 4 | 10 | 0 | no | (n/a) |
| adjustment_id | int | no | 4 | 10 | 0 | no | (n/a) |
| target_type | varchar | no | 10 | | | no | no |
| target_ids | nvarchar | no | -1 | | | no | (n/a) |
| bf_ids | nvarchar | no | -1 | | | yes | (n/a) |
+---------------+----------+------------+----------+--------+---------+------------+----------------------
+--------------------------------+-------------------------------------------------------+-------------------+
| index_name | index_description | index_keys |
|--------------------------------+-------------------------------------------------------+-------------------|
| adj_details_backup_cid_pid_idx | clustered | cid, promotion_id |
| PK__adjustme__3213E83EAF725CC9 | nonclustered, unique, primary key, stats no recompute | id |
| UQ__adjustme__32324848CA673053 | nonclustered, unique, unique key | adjustment_id |
+--------------------------------+-------------------------------------------------------+-------------------+
此表包含升级Id的多条记录。我在并发执行的查询之间面临死锁
问题1:
delete from adjustment_details_backup
where promotion_id = 28492
问题2:
delete from adjustment_details_backup
where promotion_id = 28260
死锁图的XML为:
<deadlock>
<victim-list>
<victimProcess id="process26ce2575848" />
</victim-list>
<process-list>
<process id="process26ce2575848" taskpriority="0" logused="0" waitresource="PAGE: 5:1:1643475 " waittime="19306" ownerId="5395124916" transactionname="implicit_transaction" lasttranstarted="2021-04-12T22:57:20.240" XDES="0x26cbb4f7aa0" lockMode="U" schedulerid="6" kpid="138164" status="suspended" spid="367" sbid="0" ecid="7" priority="0" trancount="0" lastbatchstarted="2021-04-12T22:57:20.240" lastbatchcompleted="2021-04-12T22:57:20.177" lastattention="1900-01-01T00:00:00.177" clientapp="Microsoft JDBC Driver for SQL Server" hostname="forecast-mgmt-747b85c647-twgm5" hostpid="0" isolationlevel="read committed (2)" xactid="5395124916" currentdb="5" currentdbname="forecast-management" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128058">
<executionStack>
<frame procname="unknown" queryhash="0x9c39d2d962cc226f" queryplanhash="0x3a3f2196dc34ec92" line="1" stmtend="126" sqlhandle="0x02000000e3619d1890952212a37333bffa6d0ca92cc3684c0000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" queryhash="0x9c39d2d962cc226f" queryplanhash="0x3a3f2196dc34ec92" line="1" stmtend="126" sqlhandle="0x0200000005301203bd2a6100166b96a8b076cf61b9cf61140000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" queryhash="0x0000000000000000" queryplanhash="0x0000000000000000" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
unknown </frame>
</executionStack>
<inputbuf>
delete from adjustment_details_backup where promotion_id = 28260 </inputbuf>
</process>
<process id="process26ce2577c28" taskpriority="0" logused="0" waitresource="PAGE: 5:1:1666487 " waittime="19302" ownerId="5395124916" transactionname="implicit_transaction" lasttranstarted="2021-04-12T22:57:20.240" XDES="0x26077e2daa0" lockMode="U" schedulerid="8" kpid="97276" status="suspended" spid="367" sbid="0" ecid="6" priority="0" trancount="0" lastbatchstarted="2021-04-12T22:57:20.240" lastbatchcompleted="2021-04-12T22:57:20.177" lastattention="1900-01-01T00:00:00.177" clientapp="Microsoft JDBC Driver for SQL Server" hostname="forecast-mgmt-747b85c647-twgm5" hostpid="0" isolationlevel="read committed (2)" xactid="5395124916" currentdb="5" currentdbname="forecast-management" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128058">
<executionStack>
<frame procname="unknown" queryhash="0x9c39d2d962cc226f" queryplanhash="0x3a3f2196dc34ec92" line="1" stmtend="126" sqlhandle="0x02000000e3619d1890952212a37333bffa6d0ca92cc3684c0000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" queryhash="0x9c39d2d962cc226f" queryplanhash="0x3a3f2196dc34ec92" line="1" stmtend="126" sqlhandle="0x0200000005301203bd2a6100166b96a8b076cf61b9cf61140000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" queryhash="0x0000000000000000" queryplanhash="0x0000000000000000" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
unknown </frame>
</executionStack>
<inputbuf>
delete from adjustment_details_backup where promotion_id = 28260 </inputbuf>
</process>
<process id="process26cc0b25848" taskpriority="0" logused="0" waitresource="PAGE: 5:1:1992058 " waittime="19296" ownerId="5395124916" transactionname="implicit_transaction" lasttranstarted="2021-04-12T22:57:20.240" XDES="0x25e78a15aa0" lockMode="U" schedulerid="10" kpid="86452" status="suspended" spid="367" sbid="0" ecid="5" priority="0" trancount="0" lastbatchstarted="2021-04-12T22:57:20.240" lastbatchcompleted="2021-04-12T22:57:20.177" lastattention="1900-01-01T00:00:00.177" clientapp="Microsoft JDBC Driver for SQL Server" hostname="forecast-mgmt-747b85c647-twgm5" hostpid="0" isolationlevel="read committed (2)" xactid="5395124916" currentdb="5" currentdbname="forecast-management" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128058">
<executionStack>
<frame procname="unknown" queryhash="0x9c39d2d962cc226f" queryplanhash="0x3a3f2196dc34ec92" line="1" stmtend="126" sqlhandle="0x02000000e3619d1890952212a37333bffa6d0ca92cc3684c0000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" queryhash="0x9c39d2d962cc226f" queryplanhash="0x3a3f2196dc34ec92" line="1" stmtend="126" sqlhandle="0x0200000005301203bd2a6100166b96a8b076cf61b9cf61140000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" queryhash="0x0000000000000000" queryplanhash="0x0000000000000000" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
unknown </frame>
</executionStack>
<inputbuf>
delete from adjustment_details_backup where promotion_id = 28260 </inputbuf>
</process>
<process id="process26220db44e8" taskpriority="0" logused="0" waitresource="PAGE: 5:1:1644155 " waittime="19306" ownerId="5395124916" transactionname="implicit_transaction" lasttranstarted="2021-04-12T22:57:20.240" XDES="0x2629d0ddaa0" lockMode="U" schedulerid="11" kpid="93408" status="suspended" spid="367" sbid="0" ecid="2" priority="0" trancount="0" lastbatchstarted="2021-04-12T22:57:20.240" lastbatchcompleted="2021-04-12T22:57:20.177" lastattention="1900-01-01T00:00:00.177" clientapp="Microsoft JDBC Driver for SQL Server" hostname="forecast-mgmt-747b85c647-twgm5" hostpid="0" isolationlevel="read committed (2)" xactid="5395124916" currentdb="5" currentdbname="forecast-management" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128058">
<executionStack>
<frame procname="unknown" queryhash="0x9c39d2d962cc226f" queryplanhash="0x3a3f2196dc34ec92" line="1" stmtend="126" sqlhandle="0x02000000e3619d1890952212a37333bffa6d0ca92cc3684c0000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" queryhash="0x9c39d2d962cc226f" queryplanhash="0x3a3f2196dc34ec92" line="1" stmtend="126" sqlhandle="0x0200000005301203bd2a6100166b96a8b076cf61b9cf61140000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" queryhash="0x0000000000000000" queryplanhash="0x0000000000000000" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
unknown </frame>
</executionStack>
<inputbuf>
delete from adjustment_details_backup where promotion_id = 28260 </inputbuf>
</process>
<process id="process263301e48c8" taskpriority="0" logused="10000" waittime="391" schedulerid="8" kpid="24256" status="suspended" spid="208" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2021-04-12T22:55:00.873" lastbatchcompleted="2021-04-12T22:55:00.873" lastattention="1900-01-01T00:00:00.873" clientapp="Microsoft JDBC Driver for SQL Server" hostname="forecast-mgmt-747b85c647-bck7r" hostpid="0" loginname="sfadmin" isolationlevel="read committed (2)" xactid="5394851450" currentdb="5" currentdbname="forecast-management" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128058">
<executionStack>
<frame procname="unknown" queryhash="0x9c39d2d962cc226f" queryplanhash="0x3a3f2196dc34ec92" line="1" stmtend="126" sqlhandle="0x02000000e3619d1890952212a37333bffa6d0ca92cc3684c0000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" queryhash="0x9c39d2d962cc226f" queryplanhash="0x3a3f2196dc34ec92" line="1" stmtend="126" sqlhandle="0x02000000add9d836abdc925b7e8512a0ad07c77bad20f63f0000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" queryhash="0x0000000000000000" queryplanhash="0x0000000000000000" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
unknown </frame>
</executionStack>
<inputbuf>
delete from adjustment_details_backup where promotion_id = 28492 </inputbuf>
</process>
<process id="process2613e78b468" taskpriority="0" logused="63080" waitresource="PAGE: 5:1:1666487 " waittime="12485" ownerId="5394851450" transactionname="implicit_transaction" lasttranstarted="2021-04-12T22:55:00.873" XDES="0x26ccec03aa0" lockMode="U" schedulerid="2" kpid="82200" status="suspended" spid="208" sbid="0" ecid="4" priority="0" trancount="0" lastbatchstarted="2021-04-12T22:55:00.873" lastbatchcompleted="2021-04-12T22:55:00.873" lastattention="1900-01-01T00:00:00.873" clientapp="Microsoft JDBC Driver for SQL Server" hostname="forecast-mgmt-747b85c647-bck7r" hostpid="0" isolationlevel="read committed (2)" xactid="5394851450" currentdb="5" currentdbname="forecast-management" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128058">
<executionStack>
<frame procname="unknown" queryhash="0x9c39d2d962cc226f" queryplanhash="0x3a3f2196dc34ec92" line="1" stmtend="126" sqlhandle="0x02000000e3619d1890952212a37333bffa6d0ca92cc3684c0000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" queryhash="0x9c39d2d962cc226f" queryplanhash="0x3a3f2196dc34ec92" line="1" stmtend="126" sqlhandle="0x02000000add9d836abdc925b7e8512a0ad07c77bad20f63f0000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" queryhash="0x0000000000000000" queryplanhash="0x0000000000000000" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
unknown </frame>
</executionStack>
<inputbuf>
delete from adjustment_details_backup where promotion_id = 28492 </inputbuf>
</process>
<process id="process26cc9927468" taskpriority="0" logused="63080" waitresource="PAGE: 5:1:1992058 " waittime="12580" ownerId="5394851450" transactionname="implicit_transaction" lasttranstarted="2021-04-12T22:55:00.873" XDES="0x26ca371daa0" lockMode="U" schedulerid="9" kpid="67304" status="suspended" spid="208" sbid="0" ecid="6" priority="0" trancount="0" lastbatchstarted="2021-04-12T22:55:00.873" lastbatchcompleted="2021-04-12T22:55:00.873" lastattention="1900-01-01T00:00:00.873" clientapp="Microsoft JDBC Driver for SQL Server" hostname="forecast-mgmt-747b85c647-bck7r" hostpid="0" isolationlevel="read committed (2)" xactid="5394851450" currentdb="5" currentdbname="forecast-management" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128058">
<executionStack>
<frame procname="unknown" queryhash="0x9c39d2d962cc226f" queryplanhash="0x3a3f2196dc34ec92" line="1" stmtend="126" sqlhandle="0x02000000e3619d1890952212a37333bffa6d0ca92cc3684c0000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" queryhash="0x9c39d2d962cc226f" queryplanhash="0x3a3f2196dc34ec92" line="1" stmtend="126" sqlhandle="0x02000000add9d836abdc925b7e8512a0ad07c77bad20f63f0000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" queryhash="0x0000000000000000" queryplanhash="0x0000000000000000" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
unknown </frame>
</executionStack>
<inputbuf>
delete from adjustment_details_backup where promotion_id = 28492 </inputbuf>
</process>
<process id="process26ce204a8c8" taskpriority="0" logused="63080" waitresource="PAGE: 5:1:1643475 " waittime="12946" ownerId="5394851450" transactionname="implicit_transaction" lasttranstarted="2021-04-12T22:55:00.873" XDES="0x26cc3125aa0" lockMode="U" schedulerid="1" kpid="95516" status="suspended" spid="208" sbid="0" ecid="1" priority="0" trancount="0" lastbatchstarted="2021-04-12T22:55:00.873" lastbatchcompleted="2021-04-12T22:55:00.873" lastattention="1900-01-01T00:00:00.873" clientapp="Microsoft JDBC Driver for SQL Server" hostname="forecast-mgmt-747b85c647-bck7r" hostpid="0" isolationlevel="read committed (2)" xactid="5394851450" currentdb="5" currentdbname="forecast-management" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128058">
<executionStack>
<frame procname="unknown" queryhash="0x9c39d2d962cc226f" queryplanhash="0x3a3f2196dc34ec92" line="1" stmtend="126" sqlhandle="0x02000000e3619d1890952212a37333bffa6d0ca92cc3684c0000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" queryhash="0x9c39d2d962cc226f" queryplanhash="0x3a3f2196dc34ec92" line="1" stmtend="126" sqlhandle="0x02000000add9d836abdc925b7e8512a0ad07c77bad20f63f0000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" queryhash="0x0000000000000000" queryplanhash="0x0000000000000000" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
unknown </frame>
</executionStack>
<inputbuf>
delete from adjustment_details_backup where promotion_id = 28492 </inputbuf>
</process>
<process id="process26cc9933848" taskpriority="0" logused="63080" waitresource="PAGE: 5:1:1644155 " waittime="12856" ownerId="5394851450" transactionname="implicit_transaction" lasttranstarted="2021-04-12T22:55:00.873" XDES="0x26b35c0baa0" lockMode="U" schedulerid="7" kpid="72952" status="suspended" spid="208" sbid="0" ecid="2" priority="0" trancount="0" lastbatchstarted="2021-04-12T22:55:00.873" lastbatchcompleted="2021-04-12T22:55:00.873" lastattention="1900-01-01T00:00:00.873" clientapp="Microsoft JDBC Driver for SQL Server" hostname="forecast-mgmt-747b85c647-bck7r" hostpid="0" isolationlevel="read committed (2)" xactid="5394851450" currentdb="5" currentdbname="forecast-management" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128058">
<executionStack>
<frame procname="unknown" queryhash="0x9c39d2d962cc226f" queryplanhash="0x3a3f2196dc34ec92" line="1" stmtend="126" sqlhandle="0x02000000e3619d1890952212a37333bffa6d0ca92cc3684c0000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" queryhash="0x9c39d2d962cc226f" queryplanhash="0x3a3f2196dc34ec92" line="1" stmtend="126" sqlhandle="0x02000000add9d836abdc925b7e8512a0ad07c77bad20f63f0000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" queryhash="0x0000000000000000" queryplanhash="0x0000000000000000" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
unknown </frame>
</executionStack>
<inputbuf>
delete from adjustment_details_backup where promotion_id = 28492 </inputbuf>
</process>
</process-list>
<resource-list>
<pagelock fileid="1" pageid="1643475" dbid="5" subresource="FULL" objectname="66b54972-a069-4426-a3c9-393f898368f6.dbo.adjustment_details_backup" id="lock26a2ff11d80" mode="U" associatedObjectId="72057594139574272">
<owner-list>
<owner id="process26cc9933848" mode="U" />
</owner-list>
<waiter-list>
<waiter id="process26ce2575848" mode="U" requestType="wait" />
</waiter-list>
</pagelock>
<pagelock fileid="1" pageid="1666487" dbid="5" subresource="FULL" objectname="66b54972-a069-4426-a3c9-393f898368f6.dbo.adjustment_details_backup" id="lock26a3208a300" mode="U" associatedObjectId="72057594139574272">
<owner-list>
<owner id="process263301e48c8" mode="U" />
</owner-list>
<waiter-list>
<waiter id="process26ce2577c28" mode="U" requestType="wait" />
</waiter-list>
</pagelock>
<pagelock fileid="1" pageid="1992058" dbid="5" subresource="FULL" objectname="66b54972-a069-4426-a3c9-393f898368f6.dbo.adjustment_details_backup" id="lock266cdfce800" mode="U" associatedObjectId="72057594139574272">
<owner-list>
<owner id="process263301e48c8" mode="U" />
</owner-list>
<waiter-list>
<waiter id="process26cc0b25848" mode="U" requestType="wait" />
</waiter-list>
</pagelock>
<pagelock fileid="1" pageid="1644155" dbid="5" subresource="FULL" objectname="66b54972-a069-4426-a3c9-393f898368f6.dbo.adjustment_details_backup" id="lock26a316db580" mode="U" associatedObjectId="72057594139574272">
<owner-list>
<owner id="process2613e78b468" mode="U" />
</owner-list>
<waiter-list>
<waiter id="process26220db44e8" mode="U" requestType="wait" />
</waiter-list>
</pagelock>
<exchangeEvent id="Pipe26268814400" WaitType="e_waitPipeGetRow" waiterType="Coordinator" nodeId="6" tid="0" ownerActivity="sentData" waiterActivity="needMoreData" merging="false" spilling="false" waitingToClose="false">
<owner-list>
<owner id="process26ce204a8c8" />
<owner id="process26cc9933848" />
<owner id="process2613e78b468" />
<owner id="process26cc9927468" />
</owner-list>
<waiter-list>
<waiter id="process263301e48c8" />
</waiter-list>
</exchangeEvent>
<pagelock fileid="1" pageid="1666487" dbid="5" subresource="FULL" objectname="66b54972-a069-4426-a3c9-393f898368f6.dbo.adjustment_details_backup" id="lock26a3208a300" mode="U" associatedObjectId="72057594139574272">
<owner-list>
<owner id="process26ce2577c28" mode="U" requestType="wait" />
</owner-list>
<waiter-list>
<waiter id="process2613e78b468" mode="U" requestType="wait" />
</waiter-list>
</pagelock>
<pagelock fileid="1" pageid="1992058" dbid="5" subresource="FULL" objectname="66b54972-a069-4426-a3c9-393f898368f6.dbo.adjustment_details_backup" id="lock266cdfce800" mode="U" associatedObjectId="72057594139574272">
<owner-list>
<owner id="process26cc0b25848" mode="U" requestType="wait" />
</owner-list>
<waiter-list>
<waiter id="process26cc9927468" mode="U" requestType="wait" />
</waiter-list>
</pagelock>
<pagelock fileid="1" pageid="1643475" dbid="5" subresource="FULL" objectname="66b54972-a069-4426-a3c9-393f898368f6.dbo.adjustment_details_backup" id="lock26a2ff11d80" mode="U" associatedObjectId="72057594139574272">
<owner-list>
<owner id="process26ce2575848" mode="U" requestType="wait" />
</owner-list>
<waiter-list>
<waiter id="process26ce204a8c8" mode="U" requestType="wait" />
</waiter-list>
</pagelock>
<pagelock fileid="1" pageid="1644155" dbid="5" subresource="FULL" objectname="66b54972-a069-4426-a3c9-393f898368f6.dbo.adjustment_details_backup" id="lock26a316db580" mode="U" associatedObjectId="72057594139574272">
<owner-list>
<owner id="process26220db44e8" mode="U" requestType="wait" />
</owner-list>
<waiter-list>
<waiter id="process26cc9933848" mode="U" requestType="wait" />
</waiter-list>
</pagelock>
</resource-list>
</deadlock>
不为人知
不为人知
不为人知
从调整\u详细信息\u备份中删除,其中升级\u id=28260
不为人知
不为人知
不为人知
从调整\u详细信息\u备份中删除,其中升级\u id=28260
不为人知
不为人知
不为人知
从调整\u详细信息\u备份中删除,其中升级\u id=28260
不为人知
不为人知
不为人知
从调整\u详细信息\u备份中删除,其中升级\u id=28260
不为人知
不为人知
不为人知
从调整\u详细信息\u备份中删除,其中升级\u id=28492
不为人知
不为人知
不为人知
从调整\u详细信息\u备份中删除,其中升级\u id=28492
不为人知
不为人知
不为人知
从调整\u详细信息\u备份中删除,其中升级\u id=28492
不为人知
不为人知
不为人知
从调整\u详细信息\u备份中删除,其中升级\u id=28492
不为人知
不为人知
不为人知
从调整\u详细信息\u备份中删除,其中升级\u id=28492
查询执行计划
死锁图的屏幕截图:
根据我的分析,死锁是由于位于同一页面上的不同促销Id的多个记录造成的。如何防止这种僵局
另外,由于两个查询都使用相同的筛选参数.v.i.z<代码>促销标识。我假设查询#1将获得一个锁,如果查询#2的记录包含在同一页上,那么它将等待查询#1的锁被释放。为什么不是这样
如果一个资源获取了页面锁,为什么另一个资源不等待释放该页面锁?PageLock不能有效地处理并发DML查询吗?不要使用这样的图像,这对我们没用。改为粘贴表和索引定义的文本。看起来您需要在粘贴架构的
promotion\u id
@Charlieface上创建索引。向促销id添加索引将有何帮助。它将如何在内部工作并解决冲突。另外,它应该是聚集索引还是非聚集索引会起作用?NCI应该可以,我认为它只是因为没有索引而锁定太多。在同一事务中是否有其他查询,还是仅此一个?请通过共享查询计划。Sqlserver也可能在并行线程上死锁,我看到您的计划是并行的。请尝试使用maxdop 1
hint查看这是否有任何影响。