ITPub博客

首页 > 数据库 > SQL Server > SQL Server中数据表存储的计算

SQL Server中数据表存储的计算

原创 SQL Server 作者:lyp8468739 时间:2010-08-10 00:02:17 0 删除 编辑

1、建表 create table dmb_tmp ( name nvarchar(50), rows int, reserved nvarchar(50), data nvarchar(50), index_size nvarchar(50), unused nvarchar(50) )

[@more@]

2、使用系统过程,将结果插入到数据表中 insert into dmb_tmp(name,rows,reserved,data,index_size,unused) exec sp_spaceused 'table_name'; insert into dmb_tmp(name,rows,reserved,data,index_size,unused) exec sp_spaceused 'table_name',true;

3、查询结果 select name, cast(replace(data,'KB','') as numeric)/1024 , cast(replace(index_size,'KB','') as numeric)/1024 , cast(replace(unused,'KB','') as numeric)/1024 from dmb_tmp;

以上是在SQL Server2000中试验通过的,第二步中不带参数true的据说是算出来的数据不准,还没有去考证。 第三步中的的计算结果都是KB,而且是字符型的数据,做了进一步的转换,转成了数值型的,这个不是必须的 ,可以有很多的方法,以上就是今的总结。

题外话:小弟平时用的都是Oracle,能够有幸用到SQL Server也是托局方的服,局方也是把双刃剑啊,虽然有 幸用到SQL Server,但是也有幸被局方骚扰,本来这个SQL Server是另一个公司的系统所用的数据库,由于各 种原因,最终的数据要到我们的库里来导,今天早上,同事来电告知数据又没有到位,于是登陆到SQL Server 服务器看了一眼,原来是空间不足,本来就不是我们的数据库,维护的问题也轮不到我们,就连我们用的数据 库也是第三方公司来维护,这个确实挺省事,于是告知局方,要他们来处理,本来以为没有事情,下午变态的 局方突然来问,今天空间被占用满了是为什么,被弄的是晕晕乎乎的(+﹏+)~,本来就不是我们的数据库,维护 也不是,却来找我们问原因,简直不知道局方中午吃了什么,只好含含糊糊的应付了一下,下午索性没有事情, 于是上网找了找怎么才能计算表所占存储的大小,由于过于关注结果,个别的帖子没有完全看清,只是找了一个 比较简洁的计算方法,印象中好像有自己来写脚本查看的,对于我这个菜鸟来讲还是蛮厉害的O(∩_∩)O~

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12286393/viewspace-1036552/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-03-20

  • 博文量
    1
  • 访问量
    507