查询sql数据库中表占用的空间大小

最近在给一家客户做系统维护时,需要查看数据库表的大小,相关的sql如下:

先在左上角下拉框中选对要查的数据库再执行以下语句

1. exec sp_spaceused ‘表名‘          --(SQL统计数据,大量事务操作后可能不准)
2. exec sp_spaceused ‘表名‘, true       --(准确的表空间大小,但可能会花些统计时间)
3. exec sp_spaceused                   -- (数据库大小查询)
4. exec sp_MSforeachtable "exec sp_spaceused ‘?‘"     --(所有用户表空间表小,SQL统计数据,,大量事务操作后可能不准)
5. exec sp_MSforeachtable "exec sp_spaceused ‘?‘,true"    --(所有用户表空间表小,大数据库慎用)

create table #t(name varchar(255), rows bigint, reserved varchar(20), data varchar(20), index_size varchar(20), unused varchar(20))
exec sp_MSforeachtable "insert into #t exec sp_spaceused ‘?‘" 
select * from #t
drop table #t

时间: 2024-10-13 02:11:02

查询sql数据库中表占用的空间大小的相关文章

MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句

查询所有数据库占用磁盘空间大小的SQL语句: select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size, concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size from information_schema.tables group by TABLE_SCHEMA order by data_lengt

SQL Server 查看数据库在数据缓存(data cache)中占用的空间大小

1 use master 2 go 3 select * from sys.dm_os_buffer_descriptors 4 go 5 6 --查看数据库在数据缓存(data cache)中占用的空间大小 7 --由于每个数据页对应动态管理视图(dynamic management view,DMV)中的一行,为128 字节,为1/8个千字节(KB) 8 --1字节(Byte)=8位(Bit) 9 --1千字节(KB)=1024字节(Byte) 10 --1兆(MB)=1024千字节(KB)

sql数据库cpu占用100问题查询

转载    原作者  xunziji SQL Server Cpu 100% 的情况并不太常见,一般引起 SQL Server 产生性能问题的,都是 阻塞.连接数.IO 磁盘等.所以,一般SQL Server 的使用率都是比较低的.但是,在有些情况下,还是会出现Cpu 100%的情况的. SQL Server 在做哪些操作的时候,会比较集中使用 CPU 资源呢?常见的主要如下: 常见的原因: 1. 编译和重编译 编译是 SQL Server 为指令生成执行计划的过程.SQL Server 要分析

如何查看SQLServer数据库每个表占用的空间大小?

如何查看SQLServer数据库每个表占用的空间大小? 创建存储过程: CREATE PROCEDURE [dbo].[sys_viewTableSpace]AS BEGIN SET NOCOUNT ON; CREATE TABLE [dbo].#tableinfo( 表名 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL, 记录数 [int] NULL, 预留空间 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,

查询Mysql数据库所有数据库所占磁盘空间大小

查询Mysql数据库所有数据库所占磁盘空间大小: select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size, concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size from information_schema.tables group by TABLE_SCHEMA order by data_len

查看MSSQL数据库每个表占用的空间大小

需要查看数据库表的大小,查询SQL Server联机从书得到如下语句: sp_spaceused 显示行数.保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间. 语法 sp_spaceused [[@objname =] 'objname']    [,[@updateusage =] 'updateusage'] 参数 [@objname =] 'objname' 是为其请求空间使用信息(保留和已分配的空间)的表名.objname 的数据类型是 nvar

查看Sql Server所有表占用的空间大小

2010-01-26 sp_spaceused可以查看某个表占用的空间,但不能一次查看所有的表.今天研究了一下这个sp,写了下面这个查询: --刷新系统数据dbcc updateusage(0) with no_infomsgs --每页8kselect name = name,id, rows = convert(char(11), rows), reserved = ltrim(str(reservedpages * 8.,15,0) + ' KB'), data = ltrim(str(p

如何查看MySQL中每张表占用的空间大小

如题,找到MySQL中的information_schema表,这张表记录了所有数据库中表的信息,主要字段含义如下: TABLE_SCHEMA : 数据库名 TABLE_NAME:表名 ENGINE:所使用的存储引擎 TABLES_ROWS:记录数 DATA_LENGTH:数据大小 INDEX_LENGTH:索引大小 如果需要查询所有数据库占用空间大小只需要执行SQL命令: mysql> use information_schema Database changed mysql> SELECT

用命令查看Mysql中数据库、表的空间大小

要想知道每个数据库的大小的话,步骤如下: 1.进入information_schema 数据库(存放了其他的数据库的信息) use information_schema; 2.查询所有数据的大小: select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables; 3.查看指定数据库的大小: 比如查看数据库home的大小 select concat(round(sum(data_length/1024/1024