SQLServer查看各个表大小

2023-11-01

SQLServer查看各个表大小

--SQLServer查看各个表大小

declare @id int  
declare @type character(2)  
declare @pages  
int  
declare @dbname sysname 
declare @dbsize dec(15,0) 
declare @bytesperpage dec(15,0) 
declare @pagesperMB dec(15,0) 
 
create table #spt_space 
( 
  objid int null, 
  rows int null, 
  reserved dec(15) null, 
  data dec(15) null, 
  indexp dec(15) null, 
  unused dec(15) null 
) 
 
set nocount on 
 
-- Create a cursor to loop through the user   tables 
declare c_tables cursor for 
select id 
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 (objid, reserved) 
  select objid = @id, sum(reserved) 
  from sysindexes 
  where indid in (0, 1, 255) 
  and id = @id 
 
  select @pages = sum(dpages) 
  from sysindexes 
  where indid < 2 
  and id = @id 
  select @pages = @pages + isnull(sum(used), 0) 
  from sysindexes 
  where indid = 255 
  and id = @id 
  update #spt_space 
  set data = @pages 
  where objid = @id 
 
 
  /* index: sum(used) where indid in (0, 1, 255) - data */ 
  update #spt_space 
  set indexp = (select sum(used) 
  from sysindexes 
  where indid in (0, 1, 255) 
  and id = @id) 
    - data 
  where objid = @id 
 
  /* unused: sum(reserved) - sum(used) where indid in (0, 1, 255) */ 
  update #spt_space 
  set unused = reserved 
  - (select sum(used) 
  from sysindexes 
  where indid in (0, 1, 255) 
  and id = @id) 
  where objid = @id 
 
  update #spt_space 
  set rows = i.rows 
  from sysindexes i 
  where i.indid < 2 
  and i.id = @id 
  and objid = @id 
 
  fetch next from c_tables 
  into @id 
end 
 
select TableName = (select left(name,60) from sysobjects where id = objid), 
  Rows = convert(char(11), rows), 
  ReservedKB = ltrim(str(reserved * d.low / 1024.,15,0) + ' ' + 'KB'), 
  DataKB = ltrim(str(data * d.low / 1024.,15,0) + ' ' + 'KB'), 
  IndexSizeKB = ltrim(str(indexp * d.low / 1024.,15,0) + ' ' + 'KB'), 
  UnusedKB = ltrim(str(unused * d.low / 1024.,15,0) + ' ' + 'KB') 
 
from #spt_space, master.dbo.spt_values d 
where d.number = 1 
and d.type = 'E' 
order by reserved desc  
drop table #spt_space 

close c_tables 
deallocate c_tables

–查看数据表占用硬盘的空间大小

	 create table test(
name varchar(50),
rows int,
reserved varchar(20),
data varchar(20),
index_size varchar(20),
unused varchar(20)
)
insert into test
exec sp_MSforeachtable "exec sp_spaceused '?'"
select * from test order by cast(replace(reserved,'KB','') as int) desc

–查看指定数据表字段大小

SELECT 
     表名       = case when a.colorder=1 then d.name else '' end,
     表说明     = case when a.colorder=1 then isnull(f.value,'') else '' end,
     字段序号   = a.colorder,
     字段名     = a.name,
     标识       = case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end,
     主键       = case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=a.id and name in (
                      SELECT name FROM sysindexes WHERE indid in( SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid))) then '√' else '' end,
     类型       = b.name,
     占用字节数 = a.length,
     长度       = COLUMNPROPERTY(a.id,a.name,'PRECISION'),
     小数位数   = isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),
     允许空     = case when a.isnullable=1 then '√'else '' end,
     默认值     = isnull(e.text,''),
     字段说明   = isnull(g.[value],'')
 FROM 
     syscolumns a
 left join 
     systypes b 
 on 
     a.xusertype=b.xusertype
 inner join 
     sysobjects d 
 on 
     a.id=d.id  and d.xtype='U' and  d.name<>'dtproperties'
 left join 
     syscomments e 
 on 
     a.cdefault=e.id
 left join 
 sys.extended_properties   g 
 on 
     a.id=G.major_id and a.colid=g.minor_id  
 left join
 sys.extended_properties f
 on 
     d.id=f.major_id and f.minor_id=0
 where 
     d.name='GYUserConfig'    --如果只查询指定表,加上此where条件,tablename是要查询的表名;去除where条件查询所有的表信息
 order by 
     a.id,a.colorder
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQLServer查看各个表大小 的相关文章

  • 从数据 URI 解码 QR 码

    我尝试从数据 uri 中解码二维码 var dataUri data image gif base64 R0lGODdh9gD2AIAAAAAAAP ywAAAAA9gD2AAAC decodeQrCode dataUri cb 我已经尝试
  • 我想检查 $('#td1').text() === "x" 是否?

    我想检查innerHtml是否有X或O 所以我不能再次添加任何其他东西 但它不起作用 添加检查代码后它就停止了 我在这里尝试做一个简单的XO游戏来更熟悉javascript和jquery 我也不确定是否可以用 jQuery 做到这一点
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 使用 jQuery/JS 打开时使
    标签的内容具有动画效果

    我只想要 HTML5 的内容details标记为 滑行 动画打开 而不是仅仅弹出打开 立即出现 这可以用 jQuery Javascript 实现吗 Fiddle http jsfiddle net 9h4Hq HTML
  • 如何抑制窗口鼠标滚轮滚动...?

    我正在开发嵌入页面中的画布应用程序 我有它 因此您可以使用鼠标滚轮放大绘图 但不幸的是 这会滚动页面 因为它是文章的一部分 当我在 dom 元素上滚动鼠标滚轮时 是否可以阻止鼠标滚轮在窗口上滚动 附加鼠标滚轮 不是 Gecko DOMMou
  • 可以使用 jQuery 或 Javascript 将图片的特定部分用作链接吗?

    我有这个想法 将图片 而不是文本 的各个部分链接到不同的页面或网站 并且我想在不实际创建不同的照片并将它们彼此靠近的情况下完成 这样看起来就像是一张完整的图片 这里有人知道如何使用 JavaScript 的变体 例如 jQuery 或纯 J
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • 标签获取 href 值

    我有以下 html div class threeimages a img alt Australia src Images Services 20button tcm7 9688 gif a div class text h2 a hre
  • 在requestAnimationFrame中使用clearRect不显示动画

    我正在尝试在 HTML5 画布上做一个简单的 javascript 动画 现在我的画布是分层的 这样当我收到鼠标事件时 背景层不会改变 但带有头像的顶层会移动 如果我使用 requestAnimationFrame 并且不清除屏幕 我会看到
  • 如何将 Google Charts 与 Vue.js 库一起使用?

    我正在尝试使用 Vue js 库使用 Google Charts 制作图表 但我不知道如何添加到 div 这是我尝试做的 这是如何使用普通 javascript 添加图表 这是文档的代码示例 https developers google
  • Jquery/Javascript 上传和下载文件,无需后端

    是否可以在没有后端服务器的情况下在 JavaScript 函数中下载和上传文件 我需要导出和导入由 JavaScript 函数生成的 XML 我想创建按钮 保存 xml 来保存文件 但我不知道是否可行 另一方面 我希望将 XML 文件直接上
  • 将div设置为隐藏,延时后可见

    我试图在 X 时间后 也许甚至在随机时间之后 但现在我们只做固定时间 在黑色背景上出现一个黄色方块 function initialSetup if document getElementById yellow null document
  • 在 webpack 2.x 中使用 autoprefixer 和 postcss

    如何使用autoprefixer使用 webpack 2 x 以前 它曾经是这样的 module loaders test scss loader style css sass postcss postcss gt return autop
  • Babel 7 Jest Core JS“TypeError:wks不是函数”

    将我的项目升级到 Babel 7 后 通过 Jest 运行测试会抛出以下错误 测试在 Babel 6 中运行没有任何问题 但在 Babel 7 中失败并出现以下错误 TypeError wks is not a function at Ob
  • 通知设置的数据库设计

    用户可以打开或关闭 他的通知设置 帐户 用于通知 例如 更改帐户资料信息 收到新消息等 通知可以通过电子邮件或手机 推送或短信 发送 用户可以只有 1 封电子邮件和多个手机设备 有什么方法可以改进以下数据库设计或者您会采取不同的方式吗 让我
  • FireFox 中的自动滚动

    我的应用程序是实时聊天 我有一个 Div 来包装消息 每条消息都是一个 div 所以 在几条消息之后 我的 DOM 看起来像这样 div div Message number two div div div div
  • 如何在类似控制台的环境中运行 JavaScript?

    我正在尝试遵循这里的示例 http eloquentjavascript net chapter2 html http eloquentjavascript net chapter2 html and print blah 在浏览器中运行时
  • Javascript转换时区问题

    我在转换当前时区的日期时间时遇到问题 我从服务器收到此日期字符串 格式为 2015 10 09T08 00 00 这是中部时间 但是当我使用 GMT 5 中的 new Date strDate 转换此日期时间时 它返回给我的信息如下 这是不
  • 在 React.js 中编辑丰富的数据结构

    我正在尝试为数据结构创建一个简单的基于网格的编辑器 但我在使用 React js 时遇到了一些概念问题 他们的文档对此没有太大帮助 所以我希望这里有人可以提供帮助 首先 将状态从外部组件传输到内部组件的正确方法是什么 是否有可能将内部组件中
  • 导致回发到与弹出窗口不同的页面

    我有一个主页和一个详细信息页面 详细信息页面是从主页调用的 JavaScript 弹出窗口 当单击详细信息页面上的 保存 按钮时 我希望主页 刷新 是否有一种方法可以调用主页的回发 同时还可以从详细信息页面维护保存回发 Edit 使用win

随机推荐

  • java基础——随笔01

    数组实例 package org example common public class ZongJie 数组作为函数参数 public static void printArray int array System out println
  • 测试大佬评定的7个等级,只有1%的人达到第7层,看看你再几层?

    有人说 软件测试就是最low的点点点工作 有人说 测试工作职位薪水到一定程度只能原地踏步无法提升 也有人说 测试行业相对于开发来说技术性很低 容易被取代 这其实是对测试行业最大的误解 测试可深可浅 可窄可广 牛叉的测试很少 很多对测试侃侃而
  • AD之PCB快速选中所有元器件并锁定

    用AD设计PCB时 想锁定所有元器件 以免调整位号时 不小心移动元件 方法 1 选中所有元器件 任选中一个元件 点 右键 选 查找相似对象 2 Object Kind 一定时 Component 元件 若不是 说明没选好 重选 然后点 确定
  • Day23-Model操作,Form操作和序列化操作

    1 搭建环境请参考 http www cnblogs com momo8238 p 7508677 html 二 Form操作 一般会创建forms py文件 单独存放form模块 Form 专门做数据验证 而且非常强大 有以下两个插件 1
  • nodejs通过request请求远程url的文件并下载到本地

    需要循环去下载远程文件 然后自己写了一个demo 可以直接运行 如下 文件下载var fs require fs var path require path var request require request 创建文件夹目录var di
  • cuda 9.1 linux 安装教程,Ubuntu 16.04安装NVIDIA的显卡驱动396和CUDA9.1

    Ubuntu安装NVIDIA的显卡驱动和CUDA Toolkit Ubuntu 这里是用16 04LTS桌面版 如果是17 04及以后版本 因为使用的显示服务器不同 可能又会有所不同 安装NVIDIA的显卡驱动经常出现启动后死循环进不去系统
  • linux——open函数

    1 使用open 函数调用 需要注意头文件
  • pbft为什么需要2f+1

    将阵营分为两拨 好节点阵营 坏节点阵营 现在坏节点阵营想要误导好节点 让其误以为已经有足够人数发出了投票 并且发生分歧 如何做 假设最极端情况 好节点被等分为两拨A B 坏节点加上任意一个阵营的人数都能达到足够人数达成投票 那坏节点就可以发
  • 法律逻辑学

    法律与逻辑的关系 1 法学离不开逻辑 逻辑是法学的基础 无论立法 司法 法治的实现 还是法学研究 法律教学都离不开逻辑 理性思维与非理性思维的最根本区别是思维是否具有逻辑性 思维逻辑性 就是思维活动遵循逻辑规律 正确地运用概念 恰当地做出判
  • linux echo

    linux echo功能说明 显示文字 语 法 echo ne 字符串 或 echo help version 补充说明 echo会将输入的字符串送往标准输出 输出的字符串间以空白字符隔开 并在最后加上换行号 参 数 n 不要在最后自动换行
  • 微信小程序自定义车牌输入组件(结合Weui)

    文章目录 概要 描述 效果 组件代码 引入 概要 我们都知道车牌是有一定规律的 本文实现了微信小程序中实现车牌输入功能 具有一定的参考价值 感兴趣的小伙伴们可以参考一下 描述 近期做了一个和车有关的小程序项目 有车肯定就有车牌 我们都知道车
  • 痞子衡嵌入式:盘点国内车规级MCU厂商

    大家好 我是痞子衡 是正经搞技术的痞子 今天痞子衡给大家介绍的是国内车规级MCU厂商及其产品 在汽车电子领域 MCU的应用非常广泛 大到车身控制与动力总成 小到雨刷车窗等控制单元 都离不开MCU的身影 但汽车领域产品必须要是高可靠 高安全的
  • L1-058 6翻了 (15 分)

    6翻了 思维错误原因以及正确思路的来源 确实是一趟循环遍历下来 但是对于 6 们的处理不太到位 单纯的用一次的if else 只是单纯的对字符串中每一个字符做处理 而我们这里需要统计连在一起的 6 们的个数 以及将他们整体替换掉 也就是说此
  • Dream------Hadoop--FSDataInputStream和FSDataOutputStream

    一 FSDataInputStream FileSystem中的open 方法实际上返回的是一个FSDataInputStream 而不是标准的java io类 这个类是java io DataInputStream 的一个子类 支持随机访
  • 1699 个词汇 的 计算机英语

    file n 文件 v 保存文件 command n 命令 指令 use v 使用 用途 program n 程序 line n 数据 程序 行 线路 display vt 显示 显示器 set v 设置 n 集合 key n 键 关键字
  • LayUi之树形结构的详解(附有全案例代码)

    Welcome Huihui s Code World 接下来看看由辉辉所写的关于LayUi的相关操作吧 目录 Welcome Huihui s Code World 一 什么是树形结构 二 树形结构在什么时候使用 常见使用场景 三 怎么完
  • mac 命令行 复制目录_从命令行复制目录

    mac 命令行 复制目录 Copying a directory for the sake of backup is something I do often especially when I m trying to figure out
  • 把token放入请求头

    1 jq 2 vue js 转载于 https www cnblogs com xiaobiaomei p 10917331 html
  • Python篇----Requests获取网页源码(爬虫基础)

    1 下载与安装 见其他教程 2 Requsts简介 Requests is an Apache2 Licensed HTTP library written inPython for human beings Python s standa
  • SQLServer查看各个表大小

    SQLServer查看各个表大小 SQLServer查看各个表大小 declare id int declare type character 2 declare pages int declare dbname sysname decla