码迷,mamicode.com
首页 > 数据库 > 详细

10-SQLServer中统计信息的使用

时间:2019-09-24 15:47:44      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:网址   除了   查看   自动更新   ssm   脚本   临时表   from   tab   

一、总结

1.网址
https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-stats-transact-sql?view=sql-server-2017(sys.stats)
2.什么是统计信息?
  统计信息描述了表格或者索引视图中的某些列的值的分布情况,属于数据库对象.

3.根据统计信息,查询优化器就能评估查询过程中需要读取的行数以及结果集情况,同时也能创建高质量的查询计划.其实统计信息就是对表的各个字段的总体数据进行分段分布,数据库默认会自动维护.
4.当表的某列第一次作为条件查询时,将创建单列的统计信息,名称以_WA开头,可以通过sys.stats视图查看.
5.当创建索引时,将创建同名的统计信息.索引中,统计信息只统计首列,因此索引除了按首列排序存储数据外,其统计信息也是按首列计算统计的,所以索引设计时定义首列非常重要.

6.临时表上可以有统计信息,其维护策略和普通表一样,但是表变量上不能创建统计信息.

7.SSMS中查看表的统计信息

技术图片

 

 8.查看统计信息是否自动更新

技术图片

 

 

二、用到的SQL

1.列出表的所有统计信息
命令: select * from run.sys.stats where object_id=object_id(‘run.dbo.T1‘)

技术图片

 

 

2.查看统计信息及其对应的列
命令: select s.name as statistics_name ,c.name as column_name ,sc.stats_column_id
from run.sys.stats as s
inner join run.sys.stats_columns as sc on s.object_id=sc.object_id and s.stats_id=sc.stats_id
inner join run.sys.columns as c on sc.object_id=c.object_id and sc.column_id=c.column_id
where s.object_id=object_id(‘run.dbo.bcp_bj_orderrec‘)

技术图片

 

 技术图片

 

 

3.DBCC SHOW_STATISTICS()查看统计信息
命令: dbcc show_statistics(‘run.dbo.bcp_bj_orderrec‘,‘_WA_Sys_00000002_5595C582‘)

技术图片

 

 

注:主要分为三部分,"统计信息头部","密度向量","直方图"
(1)统计信息头部信息

技术图片

 

 (2)密度信息

技术图片

 

 

 (3)直方图

技术图片

 

 4.用脚本设置统计信息

命令: alter database run set auto_create_statistics on with no_wait

技术图片

 

 5.创建统计信息

命令:create statistics serveridtest on run.dbo.bcp_bj_orderrec(serverid) with fullscan;

技术图片

 

 6.更新整个库上的统计信息

命令: exec sp_updatestats

技术图片

 

 

 7.更新整个表的统计信息

命令:update statistics run.dbo.T1

技术图片

 

 

 8.更新指定的的统计信息

命令:update statistics run.dbo.T1 [_WA_Sys_00000001_0EA330E9]

技术图片

 

 

 9.删除统计信息

命令:drop statistics dbo.T1.[_WA_Sys_00000001_0EA330E9]

技术图片

 

10-SQLServer中统计信息的使用

标签:网址   除了   查看   自动更新   ssm   脚本   临时表   from   tab   

原文地址:https://www.cnblogs.com/jialanyu/p/11578509.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!