gpt4 book ai didi

sql-server - 如何查找表中的行大小

转载 作者:行者123 更新时间:2023-12-02 18:02:06 24 4
gpt4 key购买 nike

我的一个数据库已接近允许的大小。

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

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)

关于sql-server - 如何查找表中的行大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/114728/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com