我正在尝试更新一些表的统计信息,这些表的名称作为我的过程的输入。但是,我不能用下面的代码编译这个过程。
update index statistics @tableName不允许动态表名称吗?或者,下面的语句会起作用吗?
select @statsCmd = 'update index statistics '+@tableName
exec(@statsCmd)另外,“更新统计信息”和“更新索引统计信息”之间有什么显著的区别?
发布于 2013-05-08 08:42:12
看起来update statistics确实不允许使用动态表名,但是第二条语句应该可以正常工作。
关于update statistics和update index statistics
Update statistics可以针对没有索引的表和其他非索引对象运行,也可以针对索引运行。如果对索引运行,它实际上在幕后执行一个update index statistics。Update index statistics仅更新指定表上索引的统计信息。
另外,您是否考虑过使用Job Scheduler, and the datachange函数来自动化更新统计信息?
https://stackoverflow.com/questions/16428815
复制相似问题