当前位置: 代码迷 >> Sql Server >> -小弟我的一些笔记(基于SQL 2005)(统计信息)-
  详细解决方案

-小弟我的一些笔记(基于SQL 2005)(统计信息)-

热度:18   发布时间:2016-04-27 17:18:45.0
-------我的一些笔记(基于SQL 2005)(统计信息)-----
SQL code
---查询索引操作的信息select * from sys.dm_db_index_usage_stats--查询指定表的统计信息(sys.stats和sysobjects联合查询)select  o.name,--表名  s.name,--统计信息的名称  auto_created,--统计信息是否由查询处理器自动创建  user_created--统计信息是否由用户显示创建from  sys.statsinner join  sysobjects oon  s.object_id=o.idwhere   o.name='表名'go--查看统计信息中列的信息select  o.name,--表名  s.name,--统计信息的名称  sc.stats_column_id,  c.name---列名from  sys.stats_columns scinner join  sysobjects oon  sc.object_id=o.idinner join  sys.stats son  sc.stats_id=s.stats_id and sc.object_id=s.object_idinner join  sys.columns con  sc.column_id=c.column_id and sc.object_id=c.object_idwhere   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






------解决方案--------------------
SF
------解决方案--------------------
db
------解决方案--------------------
收藏了,谢谢F姐姐分享
------解决方案--------------------
顶,接分.
------解决方案--------------------

------解决方案--------------------
我接分的
------解决方案--------------------
我 看看
  相关解决方案