你的位置:首页 > 软件开发 > 数据库 > 知方可补不足~写了一个计算数据表占用存储空间的方法

知方可补不足~写了一个计算数据表占用存储空间的方法

发布时间:2015-04-13 17:00:24
回到目录这个例子是关于计算数据表中所有字段在一定的数据量下占用存储空间的情况,使用了sys.tables,SYSTYPES和SYSCOLUMNS几张系统表,意思就是遍历所有数据表,然后对表的所以字段的length进行sum,就可以了,方法很容易理解,没什么技术含量,但即起到了重要 ...

回到目录

这个例子是关于计算数据表中所有字段在一定的数据量下占用存储空间的情况,使用了sys.tables,SYSTYPES和SYSCOLUMNS几张系统表,意思就是遍历所有数据表,然后对表的所以字段的length进行sum,就可以了,方法很容易理解,没什么技术含量,但即起到了重要的效果。

DECLARE @tableName VARCHAR(50)DECLARE @totalRecord BIGINTSET @tableName = 'user_info'SET @totalRecord = 1000000SELECT @tableName + '表中有' + LTRIM(STR(@totalRecord)) + '条数据时,占用的空间为:'    + LTRIM(STR(SUM(c.length) * @totalRecord / 1024.0 / 1024.0)) + 'MB'FROM  SYSTYPES T ,    SYSCOLUMNS CWHERE  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 TTORDER BY TT.NAME

原标题:知方可补不足~写了一个计算数据表占用存储空间的方法

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录