MSSQL 浅析查询表大小(mssql 查询表大小)
Microsoft SQL Server(MSSQL)是一款微软开发的关系型数据库管理系统,用于管理小型和大型数据库,提供系统存储,报表分析,数据挖掘以及ETL等多种功能。 在数据库管理中,MSSQL有一种叫做“查询表”(Query Table)的内容,这可以用来查询表中包含的数据。查询表的大小的的确定很重要,因为它将直接影响查询表的性能和效率。
要查询MSSQL中查询表的大小,可以使用如下代码:
“`sql
SELECT sys.tables.name AS ‘TableName’,
sys.schemas.name AS ‘SchemaName’,
SUM (sys.partitions.rows) AS ‘RowsCount’,
SUM ((a.total_pages – (a.used_pages + a.reserved_pages))
* 8/1024.00) AS ‘SpaceInMB’
FROM sys.partitions
INNER JOIN sys.tables
ON sys.partitions.object_id = sys.tables.object_id
INNER JOIN sys.schemas
ON sys.tables.schema_id = sys.schemas.schema_id
CROSS APPLY sys.dm_db_partition_stats (sys.partitions.object_id,
sys.partitions.partition_id) AS a
GROUP BY sys.tables.name, sys.schemas.name;
运行此查询后,将会显示表名称,表空间所属的模式名称,表的行数,以及表的大小,它们分表显示在查询的结果内。
另外,还可以使用系统视图查询查询表的大小,如下所示:```sql
SELECT t.name AS ‘TableName’, p.rows AS ‘RowsCount’,
SUM (a.total_pages) * 8/1024.0 AS ‘SpaceInMB’ FROM sys.tables AS t
INNER JOIN sys.indexes AS i ON t.OBJECT_ID = i.object_id
INNER JOIN sys.partitions AS p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
CROSS APPLY sys.dm_db_partition_stats(t.OBJECT_ID, p.partition_id) AS a GROUP BY t.name, p.rows;
使用上述查询,可以显示表名称,表的行数,以及表的大小。
最后,查询查询表大小的第三种方法是使用DBCC SHOWCONTIG命令,如下所示:
“`sql
DBCC SHOWCONTIG (‘TableName’)
GO
要查询的表名称在上述语句中替换即可。运行之后,系统会显示查询表中所有数据页的大小,以及查询表占用的总空间大小等信息。
以上就是MSSQL查询表大小的简单说明。在使用MSSQL查询数据库时,了解查询表大小可以帮助优化查询性能,也可以避免因存储空间不足造成的影响。