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)
相关推荐
计算机毕设VX:Fegn089515 小时前
计算机毕业设计|基于springboot + vue图书商城系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
求学中--16 小时前
MySQL 数据库完整操作命令与使用指南
数据库·sql·mysql·oracle
DKunYu17 小时前
误删数据库表导致出现1146报错
数据库
惜分飞18 小时前
sql server 事务日志备份异常恢复案例---惜分飞
前端·数据库·php
sunddy_x18 小时前
MySQL入门
数据库·mysql
_Minato_19 小时前
数据库知识整理——数据库设计的步骤
数据库·经验分享·笔记·软考
坐吃山猪19 小时前
BrowserUse14-源码-ScreenShot模块-整理
linux·数据库·python
廋到被风吹走19 小时前
【数据库】【MySQL】各种 JOIN 的特点及应用场景
数据库·mysql
@nengdoudou19 小时前
KingbaseES 实现 MySQL 函数 DATEDIFF
数据库·mysql
Knight_AL20 小时前
如何在 MySQL 中优雅统计“只算周一到周五”的到访数据?
数据库·mysql