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查询数据库时,了解查询表大小可以帮助优化查询性能,也可以避免因存储空间不足造成的影响。

数据运维技术 » MSSQL 浅析查询表大小(mssql 查询表大小)