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

sql-server – 如何在表中查找rowsize

发布时间:2021-01-14 09:19:31 所属栏目:编程 来源:网络整理
导读:我的一个DB已经越来越靠近应承的巨细. 为了找出包括最大数据的表,我行使了以下查询: exec sp_MSforeachtable @command1="print '?' exec sp_spaceused '?'" 它返回了包括最大数据的祸首罪魁表. 下一步,我想按照巨细整理行.为此,我想按照巨细订购行. 怎样行使

我的一个DB已经越来越靠近应承的巨细.

为了找出包括最大数据的表,我行使了以下查询:

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

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

下一步,我想按照巨细整理行.为此,我想按照巨细订购行.

怎样行使查询实现此目标?有没有器材可以做到这一点?

办理要领

这将按行巨细给出一个队列表,只需响应地配置@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)

(编辑:湖南网)

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

    热点阅读