当前位置:  开发笔记 > 数据库 > 正文

如何在表中查找rowsize

如何解决《如何在表中查找rowsize》经验,为你挑选了1个好方法。

我的一个DB已经越来越接近允许的大小.

为了找到包含最大数据的表,我使用了以下查询:

exec sp_MSforeachtable @command1="print '?' exec sp_spaceused '?'"

它返回了包含最大数据的罪魁祸首表.

下一步,我想根据大小清理行.为此,我想根据大小订购行.

如何使用查询实现此目的?有没有工具可以做到这一点?



1> 小智..:

这将按行大小给出一个行列表,只需相应地设置@table和@idcol(如同写入它将针对Northwind示例运行)

declare @table varchar(20)
declare @idcol varchar(10)
declare @sql varchar(1000)

set @table = 'Employees'
set @idcol = 'EmployeeId'
set @sql = 'select ' + @idcol +' , (0'

select @sql = @sql + ' + isnull(datalength(' + name + '), 1)' 
    from syscolumns where id = object_id(@table)
set @sql = @sql + ') as rowsize from ' + @table + ' order by rowsize desc'

exec (@sql)

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有