SQL Server:
create table tmp (name varchar(50),rows int,reserved varchar(50),
data varchar(50),index_size varchar(50),unused varchar(50))
insert into tmp (name,rows,reserved,
data,index_size,unused) exec sp_msforeachTable @Command1="sp_spaceused '?'"--sp_spaceused 't_vehicle'
select * from tmp order by data desc
drop table tmp
Oracle:
查看当前用户每个表占用空间的大小:
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name
查看每个表空间占用空间的大小:
Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name
create table tmp (name varchar(50),rows int,reserved varchar(50),
data varchar(50),index_size varchar(50),unused varchar(50))
insert into tmp (name,rows,reserved,
data,index_size,unused) exec sp_msforeachTable @Command1="sp_spaceused '?'"--sp_spaceused 't_vehicle'
select * from tmp order by data desc
drop table tmp
Oracle:
查看当前用户每个表占用空间的大小:
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name
查看每个表空间占用空间的大小:
Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name
本文提供SQL Server和Oracle数据库中查询表和表空间占用大小的方法。通过SQL Server存储过程和Oracle内置视图,可以方便地获取当前数据库中各表及表空间的占用情况。

415

被折叠的 条评论
为什么被折叠?



