加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 电商 > 正文

如何才能快速知道数据库中每个表的大小?

发布时间:2018-08-12 15:14:14 所属栏目:电商 来源:站长网
导读:sp_spaceused 表现行数、保存的磁盘空间以及当前数据库中的表所行使的磁盘空间,或表现由整个数据库保存和行使的磁盘空间。 语法 sp_spaceused [[@objname =] 'objname'] [,[@updateusage =] 'updateusage'] 参数 [@objname =] 'objname' 是为其哀求空间使
sp_spaceused
表现行数、保存的磁盘空间以及当前数据库中的表所行使的磁盘空间,或表现由整个数据库保存和行使的磁盘空间。

语法
sp_spaceused [[@objname =] 'objname']
    [,[@updateusage =] 'updateusage']

参数
[@objname =] 'objname'

是为其哀求空间行使信息(保存和已分派的空间)的表名。objname 的数据范例是 nvarchar(776),默认配置为 NULL。

[@updateusage =] 'updateusage'

暗示应在数据库内(未指定 objname 时)照旧在特定的工具上(指定 objname 时)运行 DBCC UPDATEUSAGE。值可所以 true 或 false。updateusage 的数据范例是 varchar(5),默认配置为 FALSE。

返回代码值
0(乐成)或 1(失败)

功效集
假如省略 objname,则返回两个功效集。

列名 数据范例 描写
database_name varchar(18) 当前数据库的名称。
database_size varchar(18) 当前数据库的巨细。
unallocated space varchar(18) 数据库的未分派空间。

列名 数据范例 描写
reserved varchar(18) 保存的空间总量。
Data varchar(18) 数据行使的空间总量。
index_size varchar(18) 索引行使的空间。
Unused varchar(18) 未用的空间量。


假如指定参数,则返回下面的功效集。

列名 数据范例 描写
Name nvarchar(20) 为其哀求空间行使信息的表名。
Rows char(11) objname 表中现有的行数。
reserved varchar(18) 为 objname 表保存的空间总量。
Data varchar(18) objname 表中的数据所行使的空间量。
index_size varchar(18) objname 表中的索引所行使的空间量。
Unused varchar(18) objname 表中未用的空间量。


注释
sp_spaceused 计较数据和索引行使的磁盘空间量以及当前数据库中的表所行使的磁盘空间量。假如没有给定 objname,sp_spaceused 则陈诉整个当前数据库所行使的空间。

当指定 updateusage 时,Microsoft? SQL Server? 扫描数据库中的数据页,并就每个表行使的存储空间对 sysindexes 表作出任何需要的更正。譬喻会呈现这样一些环境:当撤除索引后,表的 sysindexes 信息也许不是当前的。该历程在大表或数据库上也许要花一些时刻运行。只有当猜疑所返回的值不正确,并且该历程对数据库中的其余用户或历程没有负面影响时,才应行使该历程。假如首选该历程,则可以单独运行 DBCC UPDATEUSAGE。

权限
执行权限默认授予 public 脚色。

示例
A. 有关表的空间信息
下例陈诉为 titles 表分派(保存)的空间量、数据行使的空间量、索引行使的空间量以及由数据库工具保存的未用空间量。

USE pubs
EXEC sp_spaceused 'titles'

B. 有关整个数据库的已更新空间信息
下例归纳综合当前数据库行使的空间并行使可选参数 @updateusage。

USE pubs
sp_spaceused @updateusage = 'TRUE'

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读