当前位置: 首页 > news >正文

SQL Server查看数据库中每张表的数据量和总数据量

查询将返回每个表的名称和表中的数据行数(RowCounts),并按数据量从大到小排序

-- 查询数据库中每张表的行数(数据量) SELECT t.name AS TableName, -- 表的名称 SUM(p.rows) AS RowCounts -- 表中所有分区的行数之和,即该表的总行数 FROM sys.tables t -- 视图 sys.tables 存储数据库中的所有表 JOIN sys.indexes i ON t.object_id = i.object_id -- 视图 sys.indexes 存储每个表的索引信息,连接条件为表的对象 ID JOIN sys.partitions p ON i.object_id = p.object_id AND i.index_id = p.index_id -- 视图 sys.partitions 存储每个表和索引分区的信息,连接条件为索引的对象 ID 和分区 ID WHERE t.is_ms_shipped = 0 -- 排除系统表,确保只查询用户表 AND i.type <= 1 -- 只考虑堆(没有聚集索引的表)和聚集索引(类型 0 或 1),跳过非聚集索引 GROUP BY t.name -- 按表名分组,计算每张表的行数 ORDER BY RowCounts DESC; -- 按行数降序排列,最先显示数据量最大的表
说明:
  1. sys.tables: 这个视图包含了当前数据库中所有的表的信息。它有一个object_id列,唯一标识每个表。
  2. sys.indexes: 这个视图存储了与每个表相关的索引信息。每个表至少会有一个默认的聚集索引(如果没有聚集索引,则为堆表)。这里通过i.type <= 1来过滤:
    • type = 0代表聚集索引(clustered index)。
    • type = 1代表堆表(没有聚集索引的表)。
    • type > 1代表非聚集索引,不计算在内。
  3. sys.partitions: 这个视图包含了与表的每个分区相关的数据,包括每个分区的行数。每个表可能会有多个分区,特别是在大表中,所以需要按分区聚合行数。
  4. t.is_ms_shipped = 0: 这确保查询只包含用户创建的表,排除系统表。系统表的is_ms_shipped值为 1。
  5. GROUP BY t.name: 根据表的名称对数据进行分组,以便能够计算每个表的行数。
  6. ORDER BY RowCounts DESC: 按照每个表的行数从大到小排序,帮助我们快速识别数据量最大的表。
获取总数据量:

如果您希望查看数据库中所有表的总数据量,可以使用以下查询:

-- 查询数据库中所有表的总行数 SELECT 'Total' AS TableName, -- 返回固定的字符串 'Total' 来标识总行数 SUM(p.rows) AS TotalRowCounts -- 汇总所有表的行数 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 -- 连接分区视图 WHERE t.is_ms_shipped = 0 -- 排除系统表 AND i.type <= 1; -- 只计算堆表和聚集索引
结果:
  1. 每张表的行数:返回一个表格,显示每张表的名称和对应的行数(数据量)。
  2. 总行数:单独返回一个值,表示所有表的总行数。

这些查询可以帮助您快速评估数据库的大小和表的分布情况。

http://www.jsqmd.com/news/479706/

相关文章:

  • SUNFLOWER MATCH LAB 工业级应用:与SolidWorks集成的植物结构分析插件构想
  • 提升JMeter测试效率:WebSocket插件与5个必备插件的安装指南
  • 2026乐山优质麻辣烫推荐榜:乐山麻辣烫本地人推荐、好吃的乐山麻辣烫有哪些、正宗的牛华麻辣烫、牛华麻辣烫哪家好吃选择指南 - 优质品牌商家
  • 如何零基础打造高效的Skyworth e900v22c媒体中心:CoreELEC完整配置指南
  • 突破Cursor试用限制:革新性设备标识重置技术全解析
  • Xshell连接服务器部署实时手机检测模型教程
  • FireRed-OCR Studio部署教程:使用--quantize int4实现显存减半运行
  • VideoAgentTrek Screen Filter 与数据库联动:构建可查询的屏幕内容审计系统
  • Git版本控制实践:管理Lychee-Rerank微调与部署的代码与配置
  • 打破设备限制:MGit实现多终端Git仓库无缝协作指南
  • 比迪丽LoRA模型多语言支持:中英日提示词混合输入效果实测
  • Phi-3-mini-4k-instruct Ollama镜像免配置教程:零基础快速上手文本生成
  • Android AVB2.0(二)U-Boot/UEFI阶段防回滚与密钥管理机制解析
  • Phi-3-mini-128k-instruct实战案例:用Chainlit构建学术论文写作助手(引言/方法/结论)
  • AudioSeal开源大模型部署:Ubuntu 20.04 LTS长期支持环境适配指南
  • OpenCV图像处理黑科技:用C++实现实时边缘检测的5个性能优化技巧
  • PP-DocLayoutV3未来展望:多模态与文档理解的融合趋势
  • 圣女司幼幽-造相Z-Turbo快速入门:3步完成GPU镜像部署与调用
  • 土木工程毕业设计论文效率提升实战:从选题到成稿的自动化工具链构建
  • 解决ZYNQ Flash烧录失败的5个常见问题:以JTAG_MODE设置和路径检查为例
  • YOLOv12与PyTorch深度学习框架深入集成指南
  • Wan2.1-UMT5与ComfyUI工作流集成:可视化节点式视频生成实战
  • Z-Image-Turbo-辉夜巫女从零开始:学生党用笔记本RTX4060部署体验分享
  • 零基础部署Xinference:一个命令跑通所有开源大模型
  • 零代码上手!Fish-Speech 1.5 WebUI文字转语音5分钟快速部署教程
  • 2026年深度解析:北京狗狗训练基地哪家好、哪家专业正规且条件服务比较好?推荐指南 - 品牌2026
  • Qwen2.5-72B-Instruct-GPTQ-Int4保姆级教学:GPTQ量化模型加载参数详解
  • CLIP-GmP-ViT-L-14开发者实操:批量文本检索接口Python调用示例
  • 2026年反渗透净水设备企业实力盘点:五大品牌深度解析 - 2026年企业推荐榜
  • 卡证检测矫正模型效果对比:不同光照与角度下的鲁棒性测试