表性能问题。重建索引超时,紧急求助。
用DBCC DBREINDEX('aaa')对aaa表重建索引,会一直没有响应。
SELECT * FROM AAA 查出60多万笔,能查出来
DBCC checktable('aaa') 没报错
对aaa改成会提示超时。
将aaa的脚本创建一个新的表bbb,将aaa的60多万笔记录插入到bbb,这个表重建索引才10多秒钟就好了
aaa表是不是有什么问题?要如何处理呢?
------解决方案--------------------你新建的表没有人用,所以快是可以理解,但是你那个aaa的表可能在重建的时候还有人在用,造成了阻塞,你试试没人用的时候再重建一下
------解决方案--------------------
出现这个等待是正常现象 。reindex的时候需要对data进行排序,而且还要读data page,所以SQL Server Scheduler会经常做yield,你reindex最少在下面两种情况做yield
1.如果SQL运行超过4ms,每次读page的时候就yield一次
2.每对64kb排序一次就需要yield一次。