如何查看表和索引的统计信息

简介: 原文:如何查看表和索引的统计信息    这几天要求做一个服务器的统计信息,主要针对表和索引。下面我就简单分享几个查询数据表和索引统计信息的方法: 1.使用T-SQL 语句实现: select schema_name(t.
原文: 如何查看表和索引的统计信息

 

  这几天要求做一个服务器的统计信息,主要针对表和索引。下面我就简单分享几个查询数据表和索引统计信息的方法:

1.使用T-SQL 语句实现:

select schema_name(t.schema_id) AS '架构', 
       t.name                   AS '表名称',
       i.rows                   AS '行数',
       8 * reserved             AS '保留空间(KB)',
       8 * dpages               AS '已使用的(KB)',
       8 * ( reserved - dpages )AS '未使用的(KB)'
from sys.tables as t, sysindexes as i

where t.object_id = i.id and i.indid <=1

--可选择不同的表单独查询  AND  t.name='CTTextData'

执行结果如图

 

这种方法的优点如下:

  • 运行速度快。
  • 由于不访问用户表,不会影响性能,不加锁。
  • 灵活组合,也可以与其他语句联合查询金结果。

2. 使用系统存储过程sp_spaceused

exec sp_spaceused 'CTApplication' --取得表占用空間 

执行结果如下:

注意当不加入表名称参数的时候结果为该上下文(USE xxx--库名称)数据库实例的所有表综合信息。

可以使用Sp_msforeachtable遍历所有当前上下文的表

如下:

需要注意的是当使用sp_spaceused时,如果架构为dbo,则可以不输入架构,否则必须输入自己的架构名称。

 

3.使用系统报表

使用流程如图,右键数据库实例,然后依次点击 reports \ standard reports \ Disk Usage by Top Tables

最终显示:

图中展示了所需要的一些信息,其中每个信息都可以按照正序和倒叙排序,单位是KB。

同时右键这个窗口内,有修改页面布局、导出(Excel\Word\PDF)、打印等功能。

这种方式有如下优点:

  • 可视化界面操作容易。
  • 不需要代码书写。
  • 可以直接导出打印。

总结:

      本文简单介绍了几种查询数据库表的磁盘和索引的统计情况。在平时的工作中会经常用到这个功能,因为要看一下查询表的压力,索引占比,已经各个表的使用空间情况,对于表的设计,索引的使用等都有很大帮助。希望对大家有所帮助。

 

目录
相关文章
|
8月前
分区表统计信息收集
分区表统计信息收集
56 1
|
8月前
|
关系型数据库 MySQL
Mysql语句_查询数据百分比、人员年龄、数据排序、添加查询时的列属性、合并查询结果
Mysql语句_查询数据百分比、人员年龄、数据排序、添加查询时的列属性、合并查询结果
67 0
|
8月前
|
算法 Oracle 关系型数据库
数据库等值查询与统计信息
简介: 统计信息是为优化器的 cost 估算提供数据支撑,其中很重要的一点需求便是等值查询(EQUALS, IN 等) 场景下的基数估算。
126 0
数据库等值查询与统计信息
|
关系型数据库 MySQL 数据库
mysql数据库(7):表中检索信息(下)
mysql数据库(7):表中检索信息
139 0
mysql数据库(7):表中检索信息(下)
|
关系型数据库 MySQL 数据库
mysql数据库(7):表中检索信息(上)
mysql数据库(7):表中检索信息
176 0
mysql数据库(7):表中检索信息(上)
|
SQL 关系型数据库 测试技术
关系数据库如何快速查询表的记录数
在数据库中,很多人员习惯使用SELECT COUNT(*)、SELECT COUNT(1)、SELECT COUNT(COL)来查询一个表有多少记录,对于小表,这种SQL的开销倒不是很大,但是对于大表,这种查询表记录数的做法就是一个非常消耗资源了,而且效率很差。
3267 0
|
关系型数据库 PostgreSQL 索引
|
关系型数据库 MySQL 索引