以下语句到底是做什么的?是否重新索引所有名为“?”的表?填充率为80%?

EXEC sp_MSforeachtable @command1="print '?' DBCC DBREINDEX ('?', ' ', 80)"


它确实将查询时间从23秒缩短到几乎立即,但是我想了解原因。

最佳答案

不完全是-使用sp_MSforeachtable时,问号是表名的占位符(因为它依次循环遍历每个表)。

回答评论中的第二个问题,是的-根据DBCC DBREINDEX上有关第二个参数的文档:


如果指定了index_name,则必须指定table_name。如果
index_name未指定或为“”,表的所有索引均为
重建。

关于sql - DBCC DBREINDEX('?','',80)是做什么的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18204032/

10-13 03:34