首页 > 数据库 >SQL 语句获取数据库各表分配空间、占用空间、记录行数

SQL 语句获取数据库各表分配空间、占用空间、记录行数

时间:2023-07-25 11:33:51浏览次数:37  
标签:used Name 各表 SUM sys SQL 空间 total pages

SELECT
    t.NAME AS TableName,
    s.Name AS SchemaName,
    p.rows AS RowCounts,
    SUM(a.total_pages) * 8 AS TotalSpaceKB,
    CAST(ROUND(((SUM(a.total_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS TotalSpaceMB,
    SUM(a.used_pages) * 8 AS UsedSpaceKB,
    CAST(ROUND(((SUM(a.used_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS UsedSpaceMB,
    (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB,
    CAST(ROUND(((SUM(a.total_pages) - SUM(a.used_pages)) * 8) / 1024.00, 2) AS NUMERIC(36, 2)) AS UnusedSpaceMB
FROM
    sys.tables t
INNER JOIN      
    sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN
    sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN
    sys.allocation_units a ON p.partition_id = a.container_id
LEFT OUTER JOIN
    sys.schemas s ON t.schema_id = s.schema_id
WHERE 1=1
    AND t.is_ms_shipped = 0
    AND i.OBJECT_ID > 255
GROUP BY
    t.Name, s.Name, p.Rows
ORDER BY
    t.Name

标签:used,Name,各表,SUM,sys,SQL,空间,total,pages
From: https://www.cnblogs.com/skynight/p/17579369.html

相关文章

  • SP_CreateModel,sql server 自动生成表的实体类的通用存储过程
    --调用该sp,执行语句即可--EXECdbo.SP_CreateModel't_Buss_LargeScreenTotalInfoByMonth' SETQUOTED_IDENTIFIERONSETANSI_NULLSONGOALTERPROCEDURESP_CreateModel( @TableNamesysname)ASBEGIN --declare@TableNamesysname='T1' declare@Result......
  • oracle数据库临时表空间损坏,报错ORA-01116,ORA-01110 ,ORA-27041,ORA-06512的解决方式
     打脚本的时候报错:ORA-01116:打开数据库文件203时出错ORA-01110:数据文件203:'/u01/app/oracle/oradata/temp02.dbf'ORA-27041:无法打开文件Linux-x86_64Error:2:NosuchfileordirectoryAdditionalinformation:3ORA-06512:在line9  是我们环境的临时表空间......
  • es和mysql的查询语句对比
    ES(Elasticsearch)和MySQL是两种常用的数据库查询工具,它们在查询语句的使用和对应关系上有一些区别。本文将对比ES和MySQL的查询语句,并详细介绍它们的对应关系。首先,我们来看一下ES的查询语句。ES是一种分布式搜索和分析引擎,它使用JSON格式的查询语句来进行数据检索。ES的查询语句可......
  • 深入理解Mysql索引
    在数据库中,最常用的SQL操作之一就是SELECT语句,它负责数据的检索。而在SELECT语句背后,与索引的交互密不可分。为了优化数据库性能和加快查询速度,开发者们往往优先考虑调整索引。让我们深入了解索引的背后故事。这篇文章将从什么是索引,索引的分类,索引的底层数据数据结构,跟大家一起......
  • sqlserver insert 限制字符串的长度 小于 表字段定义的长度
    sqlserverinsert时,字符串长度超出表字段限定的长度,报错写一个限定字符串长度的函数createfunctionGetLimitStr(@strvarchar(8000),@lenint)returnsvarchar(8000)asbeginifdatalength(@str)<=@lenreturn@strdeclare@cvarchar(2)declare@......
  • 携程海外MySQL如何实现毫秒级数据复制?
    一、前言 在携程国际化战略背景下,海外业务将成为新的发力点,为了保证用户高品质的服务体验,底层数据势必需要就近服务业务应用。一套标准且普适的数据复制解决方案能够提升业务决策效率,助力业务更快地触达目标用户。 DRC(DataReplicateCenter)作为携程内部数......
  • PostgreSQL体系结构--物理结构
    物理结构对应在操作系统中组成的数据库目录和相关文件来构成一、基础目录$PGDATA:baseglobalpg_commit_tspg_walpg_tblspc:alternativedatabasefiles二、目录布局base --存放默认数据库的目录global --存放的数据库相关的字典视图或者表文件 pg_commit_ts --事......
  • Mysql占用CPU过高如何优化
    MySQL处在高负载环境下,磁盘IO读写过多,肯定会占用很多资源,必然CP会U占用过高。占用CPU过高,可以做如下考虑:1.打开慢查询日志,查询是否是某个SQL语句占用过多资源,如果是的话,可以对SQL语句进行优化,比如优化insert语句、优化groupby语句、优化orderby语句、优化join语句等等;2......
  • list agg cause ORA-06502 PL/SQL: numeric or value error
    http://www.idb-stock.net/idb/2011/07/05/204.htmlora-06502错误主要是指数据字或值错误,包括以下子类型:字符到数据值的转换错误、字符串缓冲区太小、数值精度太高等。对空集合的调用,会报ora-06502错误declaretypecnt_typistableofnumberindexbybinary_integer;v_c......
  • 【MySQL线上修改大表结构有哪些风险】
    (文章目录)1.背景在实际应用中,我们经常会遇到需要修改大表结构的情况,比如增加或删除字段、修改字段类型、添加或删除索引等。但是,这些修改操作都是要对线上数据库进行的,如果处理不当,就容易导致数据丢失、性能下降、系统崩溃等问题,给业务带来不可挽回的损失。因此,本文总结了MySQL......