知方可补不足~写了一个计算数据表占用存储空间的方法
这个例子是关于计算数据表中所有字段在一定的数据量下占用存储空间的情况,使用了sys.tables,SYSTYPES和SYSCOLUMNS几张系统表,意思就是遍历所有数据表,然后对表的所以字段的length进行sum,就可以了,方法很容易理解,没什么技术含量,但即起到了重要的效果。
DECLARE @tableName VARCHAR(50) DECLARE @totalRecord BIGINT SET @tableName = 'user_info' SET @totalRecord = 1000000 SELECT @tableName + '表中有' + LTRIM(STR(@totalRecord)) + '条数据时,占用的空间为:' + LTRIM(STR(SUM(c.length) * @totalRecord / 1024.0 / 1024.0)) + 'MB' FROM SYSTYPES T , SYSCOLUMNS C WHERE T.XTYPE = C.XTYPE AND C.ID = ( SELECT ID FROM SYSOBJECTS WHERE NAME = @tableName ) SELECT TT.NAME , DATA = @TOTALRECORD , SIZE = ( SELECT STR(SUM(C.LENGTH) * @TOTALRECORD / 1024.0 / 1024.0) + 'MB' FROM SYSTYPES T , SYSCOLUMNS C WHERE T.XTYPE = C.XTYPE AND C.ID = TT.OBJECT_ID ) FROM SYS.TABLES AS TT ORDER BY TT.NAME
执行结果如下
怎么样,挺有意思吧!
分类:
数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
2012-04-13 MVC验证(自动在基类中验证实体的数据有效性),本人最满意的作品之一