7

下面的语句究竟做了什么?它是否重新索引所有名为“?”的表 填充因子为 80% ?

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

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

4

1 回答 1

8

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

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

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

于 2013-08-13T08:30:52.147 回答