如何查看表和索引的统计信息
这几天要求做一个服务器的统计信息,主要针对表和索引。下面我就简单分享几个查询数据表和索引统计信息的方法:
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)、打印等功能。
这种方式有如下优点:
- 可视化界面操作容易。
- 不需要代码书写。
- 可以直接导出打印。
总结:
本文简单介绍了几种查询数据库表的磁盘和索引的统计情况。在平时的工作中会经常用到这个功能,因为要看一下查询表的压力,索引占比,已经各个表的使用空间情况,对于表的设计,索引的使用等都有很大帮助。希望对大家有所帮助。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?