sql系统里如何查询一个集群各个表当前数据量大小从高到低排名(以MB为单位),效果如下图,请写出sql语句

 我来答
百度网友2166b2e
2016-09-23 · TA获得超过155个赞
知道答主
回答量:70
采纳率:0%
帮助的人:45.5万
展开全部


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 '?'"

select name as table_name,cast(substring(data,patindex('%[^0-9][0-9]%',data)+1,patindex('%[0-9][^0-9]%',data)-patindex('%[^0-9][0-9]%',data)) as float)/1024 as MB
, rows as table_rows from tmp  order by cast(SUBSTRING(data,1,LEN(data)-2) AS int) desc
 
drop table tmp
 
 ------------第一列不知道什么意思 可以帮你把后三列查出来,结果如下

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式