sql查看所有表大小的方法
declare @id int
declare @type character(2)
declare @pages int
declare @dbname sysname
declare @dbsize dec(15,0)
declare @bytesperpage dec(15,0)
declare @pagesperMB dec(15,0)create table #spt_space
(
[objid] int null,
[rows] int null,
[reserved] dec(15) null,
[data] dec(15) null,
[indexp] dec(15) null,
[unused] dec(15) null
)set nocount on
-- Create a cursor to loop through the user tables
declare c_tables cursor for
select id from sysobjects where xtype = 'U'open c_tables fetch next from c_tables into @id
while @@fetch_status = 0
begin
/* Code from sp_spaceused */
insert into #spt_space (objid, reserved)
select objid = @id, sum(reserved)
from sysindexes
where indid in (0, 1, 255) and id = @id
select @pages = sum(dpages)
from sysindexes
where indid < 2
and id = @id
select @pages = @pages + isnull(sum(used), 0)
from sysindexes
where indid = 255 and id = @id
update #spt_space set data = @pages
where objid = @id
/* index: sum(used) where indid in (0, 1, 255) - data */
update #spt_space
set indexp = (select sum(used)
from sysindexes
where indid in (0, 1, 255)
and id = @id) - data
where objid = @id
/* unused: sum(reserved) - sum(used) where indid in (0, 1, 255) */
update #spt_space
set unused = reserved - (
select sum(used)
from sysindexes
where indid in (0, 1, 255) and id = @id
)
where objid = @id
update #spt_space set [rows] = i.[rows]
from sysindexes i
where i.indid < 2 and i.id = @id and objid = @id
fetch next from c_tables into @id
endselect TableName = (select left(name,60) from sysobjects where id = objid),
[Rows] = convert(char(11), rows),
ReservedKB = ltrim(str(reserved * d.low / 1024.,15,0) + ' ' + 'KB'),
DataKB = ltrim(str(data * d.low / 1024.,15,0) + ' ' + 'KB'),
IndexSizeKB = ltrim(str(indexp * d.low / 1024.,15,0) + ' ' + 'KB'),
UnusedKB = ltrim(str(unused * d.low / 1024.,15,0) + ' ' + 'KB')
from #spt_space, master.dbo.spt_values d
where d.number = 1
and d.type = 'E'order by reserved desc
drop table #spt_space
close c_tables
deallocate c_tables
- sql查看所有表大小的方法
- sql查看所有表大小的方法
- 常用SQL:看全部表的空间大小|tempdb使用情况|清空日志|查看日志|查看数据库表|禁用所有约束|系统表|系统视图
- sp_MSforeachtable使用方法 查看库中所有表的空间大小
- Oracle 查看表空间的大小及使用情况sql语句和oracle增加表空间大小两种实现方法
- T-SQL系列之查看所有数据库大小、恢复模式等信息(MSSQL)
- 查看sql所有表占用的空间大小
- Sql Server查看所有数据库名,表名,字段名(SQL语句)
- SQL Server中如何统计数据库中所有用户表所占空间大小?
- 用SQL命令查看Mysql数据库大小
- 查看进程占用内存大小的几种方法
- Mac OS X下查看所有目录大小分布
- 项目中调试SQLServer 方便的查看SQL语句的执行时间的方法
- JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
- 查看表空间的大小及使用情况sql语句
- IntelliJ IDEA中怎么查看文件中所有方法(类似eclipse里面的outline)
- DB太大?一键帮你收缩所有DB文件大小(Shrink Files for All Databases in SQL Server)
- 查看所有表空间大小
- 查看SQL版本以及补丁的方法【新方法】
- 查看表空间大小表空间创建sql