SQL Server中数据表存储的计算
2010-08-10 12:36
134 查看
1、建表
create table dmb_tmp
(
name nvarchar(50),
rows int,
reserved nvarchar(50),
data nvarchar(50),
index_size nvarchar(50),
unused nvarchar(50)
)
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~
本文出自 “自由空间” 博客,请务必保留此出处http://lyp8468739.blog.51cto.com/1594267/371277
create table dmb_tmp
(
name nvarchar(50),
rows int,
reserved nvarchar(50),
data nvarchar(50),
index_size nvarchar(50),
unused nvarchar(50)
)
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~
本文出自 “自由空间” 博客,请务必保留此出处http://lyp8468739.blog.51cto.com/1594267/371277
相关文章推荐
- SQL SERVER单页数据存储行数计算
- SQL Server 2008 空间数据存储摘抄(SRID 点 MultiPoint LineString MultiLineString 多边形 MultiPolygon GeometryCollection)
- SQL Server 2008 空间数据存储摘抄(SRID 点 MultiPoint LineString MultiLineString 多边形 MultiPolygon GeometryCollection)
- SQL Server存储引擎 - 04. 数据
- SQL Server 2008 中的空间数据存储
- SQL Server中在存储过程中使用游标修改表中数据
- sql server百万数据分页存储过程
- 时间序列数据的存储和计算 - 开源时序数据库解析(三)
- 关于sql server 在存储过程中创建临时表,并往临时表中插入数据时出现乱码的问题
- sql server调用数据库存储过程接口导入数据
- SQL server 数据存储过程
- SQL Server 2008 预览以Geometry或Geography存储的空间数据
- C#下把txt文件数据读进sql server中存储所遇到的乱码问题
- 从存储和分析角度看大数据和云计算区别与联系
- 【SQL SERVER 2005页面存储2之--特殊数据类型在页面中的存储】
- SQL Server 2008 空间数据存储摘抄(SRID 点 MultiPoint LineString MultiLineString 多边形 MultiPolygon GeometryCollection)
- SQL Server 2008 中的空间数据存储
- 时间序列数据的存储和计算 - 开源时序数据库解析(二)
- 一共81个,开源大数据处理工具汇总:查询引擎、流式计算、迭代计算、离线计算、键值存储、表格存储、文件存储、资源管理、日志收集系统、消息系统、分布式服务、集群管理、基础设施、搜索引擎、数据挖掘=监控
- SQL Server 2008 空间数据存储摘抄(SRID 点 MultiPoint LineString MultiLineString 多边形 MultiPolygon GeometryCollection)