数据库中的最大值

问题描述 投票:0回答:1

我正在寻找返回数据库中前 5 个最大值的列表的 SQL 查询。类似 SELECT TOP(5) * from Database

结果将是:
表名 |列名 |字段最大长度

Excise是找到导致问题超过最大数据大小的字段,可以从MSSQL加载到Excel中以对以下问题进行排序:

内存错误:遇到超过存储对象最大页面大小(65528 字节)的记录(66341 字节)

提前谢谢您

sql sql-server
1个回答
0
投票

我有时使用这个查询来查看哪些表是“最大”的,也许不完全是你想要的,但你可以用它作为开始

select s.name as SchemaName,
       t.NAME AS TableName,
       i.name as indexName,
       sum(p.rows) / count(a.total_pages) as RowCounts,
       count(a.total_pages) as page_count,
       sum(a.total_pages) as TotalPages, 
       sum(a.used_pages) as UsedPages, 
       sum(a.data_pages) as DataPages,
       (sum(a.total_pages) * 8) / 1024 as TotalSpaceMB, 
       (sum(a.used_pages) * 8) / 1024 as UsedSpaceMB, 
       (sum(a.data_pages) * 8) / 1024 as DataSpaceMB 
from   sys.tables t
  inner join sys.schemas s on t.schema_id = s.schema_id
  inner join sys.indexes i ON t.OBJECT_ID = i.object_id
  inner join sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
  inner join sys.allocation_units a ON p.partition_id = a.container_id
where  t.NAME NOT LIKE 'dt%' 
and    i.OBJECT_ID > 255   
and    i.index_id <= 1
--and    i.name like '%[_][_]%'
group by s.name, t.NAME, i.object_id, i.index_id, i.name
order by sum(p.rows) / count(a.total_pages) DESC
© www.soinside.com 2019 - 2024. All rights reserved.