sp_createstats (Transact-SQL)
为当前数据库中所有用户表的所有合格列和内部表创建单列统计信息。新的统计信息与创建该统计信息所在列具有相同的名称。
语法
sp_createstats [ [ @indexonly = ] 'indexonly' ]
[ , [ @fullscan = ] 'fullscan' ]
[ , [ @norecompute = ] 'norecompute' ]
参数
[ @indexonly= ] 'indexonly'
指定创建统计信息时只应考虑参与索引的列。indexonly 的数据类型为 char(9)。默认值为 NO。
[ @fullscan= ] 'fullscan'
指定将 FULLSCAN 选项用于 CREATE STATISTICS。如果忽略 fullscan,SQL Server 2005 数据库引擎 将执行默认示例扫描。fullscan 的数据类型为 char(9)。默认值为 NO。
[ @norecompute= ] 'norecompute'
指定对新创建的统计信息禁用统计信息自动重新计算功能。norecompute 的数据类型为 char(12)。默认值为 NO。
返回代码值
0(成功)或 1(失败)
结果集
无
备注
已经包含统计信息的列不会受影响,如索引的第一列或包含显式创建的统计信息的列。对于每个满足上述限制的列,将执行 CREATE STATISTICS 语句。如果指定了 fullscan 则执行 FULLSCAN。
对于被禁用的索引的前导列,将不会对其创建统计信息。如果指定了 indexonly,那么,除非其他启用的索引也使用了已禁用的非聚集索引中的列,否则不会对该列创建统计信息。sp_createstats 会忽略包含已禁用聚集索引的表。
权限
需要 db_owner 固定数据库角色成员资格。
示例
以下示例将为当前数据库中全部用户表的所有合格列创建统计信息。
EXEC sp_createstats;
以下示例只为参与索引的列创建统计信息。
EXEC sp_createstats 'indexonly';
请参阅
参考
数据库引擎存储过程 (Transact-SQL)
CREATE STATISTICS (Transact-SQL)
DBCC SHOW_STATISTICS (Transact-SQL)
DROP STATISTICS (Transact-SQL)
系统存储过程 (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)