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)
相关推荐
Chandler242 小时前
一图掌握 MySQL 核心要点
数据库·mysql
CodeJourney.2 小时前
从PPT到DeepSeek开启信息可视化的全新之旅
数据库·人工智能·算法·excel·流程图
GOTXX7 小时前
【Qt】Qt Creator开发基础:项目创建、界面解析与核心概念入门
开发语言·数据库·c++·qt·图形渲染·图形化界面·qt新手入门
猿小喵7 小时前
记录一次TDSQL网关夯住故障
运维·数据库·mysql
电商api接口开发7 小时前
如何在C#中使用LINQ对数据库进行查询操作?
数据库·c#·linq
hnsqls8 小时前
Redis 常问知识
数据库·redis·缓存
经年小栈9 小时前
性能优化-Spring参数配置、数据库连接参数配置、JVM调优
数据库·spring·性能优化
一个小白19 小时前
C++ 用红黑树封装map/set
java·数据库·c++
神奇小永哥9 小时前
redis之缓存雪崩
数据库·redis·缓存