Tha*_*kur 5 sql t-sql sql-server
CurrentStatus我的数据库中有一个表(合并复制中的订阅数据库)列是StatusID {Primary Key + Clustered Index}, StatusName, StatusDate, UserID,CreatedDate, ModifiedDate, ModifiedBy, AllowDelete,AllowUpdate
CurrentStatus表为26000行
此表上的更新和删除突然花费了太多时间,比如1分30秒甚至5分钟.
以下查询需要花费一分钟才能执行.
update StatusMaster set StatusName='OK' where StatusID = 22
Run Code Online (Sandbox Code Playgroud)
表上有以前的5个索引(即使后来查询用于快速执行.)现在,由于更新/删除查询没有执行,我已经删除了所有索引,只保留了两个索引1)StatusID上的聚簇索引2)复制索引rowguid列,它是由复制自动创建的唯一非聚簇索引.
当我采取备份和恢复数据库时,同一个表上的查询运行正常.
还有一件事是我从服务器上的大约20台机器每2分钟运行一次复杂的查询.
是什么导致此查询消耗这么多时间来执行?
我建议您通过UPDATE STATISTICS命令更新统计信息,例如:
UPDATE STATISTICS StatusMaster
Run Code Online (Sandbox Code Playgroud)