日期:2014-05-18 浏览次数:20410 次
---查询索引操作的信息 select * from sys.dm_db_index_usage_stats --查询指定表的统计信息(sys.stats和sysobjects联合查询) select o.name,--表名 s.name,--统计信息的名称 auto_created,--统计信息是否由查询处理器自动创建 user_created--统计信息是否由用户显示创建 from sys.stats inner join sysobjects o on s.object_id=o.id where o.name='表名' go --查看统计信息中列的信息 select o.name,--表名 s.name,--统计信息的名称 sc.stats_column_id, c.name---列名 from sys.stats_columns sc inner join sysobjects o on sc.object_id=o.id inner join sys.stats s on sc.stats_id=s.stats_id and sc.object_id=s.object_id inner join sys.columns c on sc.column_id=c.column_id and sc.object_id=c.object_id where o.name='表名' --查看统计信息的明细信息 dbcc show_statistics --查看索引自动创建的统计信息 exec sp_autostats '对象名' --关闭自动生成统计信息的数据库选项 alter datebase 数据库名 set auto_create_statistics off --创建统计信息 create statistics 统计信息名称 on 表名(列名) [with [[fullscan sample number{percent|rows}] [norecompute] ] go 解释一下上面的参数: fullscan:指定对表或视图中所有的行收集统计信息 sample number{percent|rows}:指定随机抽样应读取的数据行数或者百分比 sample选项不能与fullscan选项同时使用 norecompute:指定数据库引擎不自动重新计算统计信息 --计算随机抽样统计信息 create statistics 统计信息名称 on 表名(列名) with sample 5 percent---创建统计信息,按5%计算随机抽样统计信息 go --创建统计信息 exec sp_createstats--参数自己去查下帮助,在这里不一一列举 --修改统计信息 update statistics 表名|视图名 索引名|统计信息名,索引名|统计信息名,..... [with [[fullscan sample number{percent|rows}] [norecompute] ] ---参数与create statistics 语句相似,下面介绍几种常用应用 1.更新指定表的所有统计信息 update statistics 表名 2.更新指定表的单个索引的统计信息 update statistics 表名 索引名 3.对表进行全面扫描,更新统计信息 update statistics 表名(列名) with fullscan