DBCC DBREINDEX('?','',80)做什么?

时间:2013-08-13 08:21:22

标签: sql sql-server sql-server-2008

以下陈述究竟是做什么的?它是否重新索引所有名为'?'的表填充因子为80%?

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

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

1 个答案:

答案 0 :(得分:7)

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

回复你的评论中的第二个问题,是的 - 根据DBCC DBREINDEX关于第二个论点的文件:

  

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