最近,对数据库的很多查询都超时了。在调查时,我发现查询处于暂停状态,wait_type 为 PageIOLatch_Sh。我之前没有注意到服务器上有这么多查询被挂起。自星期六以来,这种情况一直在发生。
几周前,数据库服务器上的 CPU 一直处于 100% 的状态。在尝试修复该问题时,我更改了几个未真正使用的索引,并导致了 user_scans。更改索引后,服务器上的 cpu 使用率下降,站点的性能通常更快,并且现在查看索引统计数据时发生了大量 user_seeks,我认为这是一个好兆头。
然而,现在一两周后,即使 cpu 使用率不是 100,大量查询已经开始超时,并且观察到 PageIoLatch_Sh 等待。有趣的是,即使 cpu 为 100%,这些超时也不会以如此高的频率发生。
现在维护索引也会减慢 sql server 的处理速度,所以我想知道新索引是否会导致更多的等待和超时?