如何在SQL Server中按行数调整表的大小
我有一个表,我想从中得到基于字节的数字记录的大小 在SQL Server中:如何在SQL Server中按行数调整表的大小,sql,sql-server,database,Sql,Sql Server,Database,我有一个表,我想从中得到基于字节的数字记录的大小 在SQL Server中: 我能给出的唯一相关答案是: SELECT s.name AS SchemaName, t.name AS TableName, p.rows AS RowCounts, a.total_pages * 8 AS TotalSpaceKB, a.used_pages * 8 AS UsedSpaceKB, a.total_pages * 8 / p.rows AS each
我能给出的唯一相关答案是:
SELECT
s.name AS SchemaName,
t.name AS TableName,
p.rows AS RowCounts,
a.total_pages * 8 AS TotalSpaceKB,
a.used_pages * 8 AS UsedSpaceKB,
a.total_pages * 8 / p.rows AS eachRowTotalSpaceKB,
a.used_pages * 8 / p.rows AS eachRowUsedSpaceKB,
a.total_pages * 8 / p.rows * (select * from dbo.PictureTable where SchoolCode=1001) AS queryTotalSpaceKB,
a.used_pages * 8 / p.rows * (select * from dbo.PictureTable where SchoolCode=1001) AS queryTotalSpaceKB
FROM
sys.tables t
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
LEFT OUTER JOIN
sys.schemas s ON t.schema_id = s.schema_id
WHERE
s.name = 'dbo' AND
t.name = 'PictureTable';
编辑
您可以使用以下方法获取字段中数据的长度:
SELECT SUM(DATALEGTH(PictureTable_ID)) + SUM(DATALEGTH(Groupcourses_ID)) +SUM(DATALEGTH(per_ID)) + SUM(DATALEGTH(School_ID)) + SUM(DATALEGTH(AcademicYear_ID)) + SUM(DATALEGTH(PictureTable_Description)) + SUM(DATALEGTH(SchoolCode)) As rowSizes
FROM PictureTable
WHERE (SchoolCode = 1001);
你想知道给定表格的大小(以字节为单位)还是想计算记录数。看一下这个问题,请重写这个问题,因为这个问题不够清楚,无法理解。**我用另一种方式问这个问题,想调节数字记录的增重,然后调节它们的增重**
--如何根据条件调整表格的大小==>从中选择*dbo.PictureTable如果SchoolCode=1001IMO,查询结果是
视图
而不是表
,并且视图在存储上没有空间!?都是重量表--我去了自定义数字在表中记录重量如果你想知道每行的数据长度,我将编辑信息添加到我的答案;)。感谢是真正的解决方案