博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL计算数据库表占用的真实空间大小
阅读量:6859 次
发布时间:2019-06-26

本文共 922 字,大约阅读时间需要 3 分钟。

最近客户的数据库暴涨,一开始找不到原因,用sql查询表的空间大小,结果之前用的sql语句只能查询除了text,image外的字段大小.搞得一时间混乱不堪.后来咨询了大师们,找到用sp_spaceused这个系统函数可以查询表的真实大小,包含text等字段.sql如下:
declare
@id            NVARCHAR(100)
create
table
#spt_space
(
    
[
name
]            NVARCHAR(50)
null
,
    
[
rows
]         
int
null
,
    
[reserved]       NVARCHAR(50)
null
,
    
[data]         NVARCHAR(50)
null
,
    
[index_size]        NVARCHAR(50)
null
,
    
[unused]         NVARCHAR(50)
null
)
 
set
nocount
on
 
declare
c_tables
cursor
for
select
name
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 ([
name
],[
rows
],reserved,data,index_size,unused)
    
EXEC
sp_spaceused @id
    
fetch
next
from
c_tables  
into
@id
 
end
SELECT
*
FROM
(
SELECT
*,
CAST
(
REPLACE
(reserved,
'KB'
,
''
)
AS
INT
)
AS
reservedindex
FROM
#spt_space
) c
order
by
c.reservedindex
desc
 
drop
table
#spt_space
close
c_tables
deallocate
c_tables

 

 

本文转自温景良(Jason)博客园博客,原文链接:如需转载请自行联系原作者

 

  

你可能感兴趣的文章
破解TexturePacker加密资源
查看>>
IOS7开发~Images.xcassets
查看>>
硬盘助手写入文件的正确提取
查看>>
Java自定义Exception
查看>>
纯css3实现的竖形二级导航
查看>>
Oil Deposits 搜索 bfs 强联通
查看>>
SQL Server调优系列基础篇(常用运算符总结)
查看>>
人性漫画:一个人成功前和成功后赤裸裸的区别 人成功前后对比 成功人发展由来前后结果...
查看>>
压缩解压缩命令巧记
查看>>
atitit.基于组件的事件为基础的编程模型--服务器端控件(1)---------服务器端控件和标签之间的关系...
查看>>
7 Types of Regression Techniques you should know!
查看>>
自己实现一个IOC(控制翻转,DI依赖注入)容器
查看>>
Java集合概述
查看>>
android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
查看>>
inux下"没有设置 SVN_EDITOR...."错误解决方法
查看>>
linux普通用户权限设置为超级用户权限方法、sudo不用登陆密码
查看>>
HDU 1421 搬寝室[DP]
查看>>
二层设备与三层设备的区别--总结
查看>>
ZOJ 3829 Known Notation(字符串处理 数学 牡丹江现场赛)
查看>>
JS操作css样式用法
查看>>