sql server分析表大小

使用自动存储过程查询

EXEC sp_spaceused 'YourTableName';

  • rows:表中的行数。
  • reserved:表占用的总空间(包括数据和索引)。
  • data:表数据占用的空间。
  • index_size:索引占用的空间。
  • unused:未使用的空间。

数据本身大小不大,一条数据平均大小就是382784/251396=1.4K,注意是索引大,宽表都会建立很多索引

使用sql查询

SELECT t.NAME AS TableName, p.rows AS RowCounts, SUM(a.total_pages) * 8 AS TotalSpaceKB, SUM(a.used_pages) * 8 AS UsedSpaceKB, (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB FROM sys.tables t JOIN sys.indexes i ON t.object_id = i.object_id JOIN sys.partitions p ON i.object_id = p.object_id AND i.index_id = p.index_id JOIN sys.allocation_units a ON p.partition_id = a.container_id WHERE t.NAME = 'YourTableName' GROUP BY t.Name, p.Rows;

  • TableName:表名。
  • RowCounts:表中的行数。
  • TotalSpaceKB:表占用的总空间(单位:KB)。
  • UsedSpaceKB:已使用的空间(单位:KB)。
  • UnusedSpaceKB:未使用的空间(单位:KB)
相关推荐
好奇的菜鸟3 小时前
如何在IntelliJ IDEA中设置数据库连接全局共享
java·数据库·intellij-idea
tan180°3 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
满昕欢喜3 小时前
SQL Server从入门到项目实践(超值版)读书笔记 20
数据库·sql·sqlserver
Hello.Reader4 小时前
Redis 延迟排查与优化全攻略
数据库·redis·缓存
简佐义的博客5 小时前
破解非模式物种GO/KEGG注释难题
开发语言·数据库·后端·oracle·golang
爬山算法5 小时前
MySQL(116)如何监控负载均衡状态?
数据库·mysql·负载均衡
老纪的技术唠嗑局8 小时前
OceanBase PoC 经验总结(二)—— AP 业务
数据库
阿里云大数据AI技术9 小时前
OpenSearch 视频 RAG 实践
数据库·人工智能·llm
m0_6239556611 小时前
Oracle使用SQL一次性向表中插入多行数据
数据库·sql·oracle
阿蒙Amon11 小时前
C#读写文件:多种方式详解
开发语言·数据库·c#