我有一张1800万行的表。它有2个索引。一个具有主键的聚簇索引和另一个具有3列即A,B和C的非聚簇索引。
场景: Windows服务每100毫秒从该表轮询16行,并为每个行创建Web服务请求并发送到Web服务。 Web服务发送每个请求的响应,然后Windows服务使用基于列A,B和C的响应数据更新表(A,B和C列的组合使行唯一)。
当行数大约为100k时,这可以正常工作。 但是导致行量为1800万的表格陷入僵局。
可能是什么原因? 拥有1800万行的env无法访问。但是我们得到了探查器跟踪,但它显示了Update查询死锁,因为它获取了页锁而不是行锁。