gpt4 book ai didi

SQL Server - 获取表的大致大小

转载 作者:行者123 更新时间:2023-12-03 02:29:49 26 4
gpt4 key购买 nike

在生产中,发出 SELECT COUNT 可能是一个坏主意 - 它可能会影响性能,具体取决于您的数据库引擎。在 Oracle 中,如果我想了解表的大小而不必求助于 COUNT,我可以执行以下操作:

SELECT
table_name,
num_rows,
last_analyzed
FROM all_tables
WHERE table_name = 'MY_TABLE_NAME';

这将检索 Oracle 的表分析(如果已启用)。虽然计数并不准确,但它可以让我了解表有多大,以防我需要查询它(last_analyzed 列让我知道该近似值有多旧)。

如何在 SQL Server 中执行类似的操作? (相关 - 这对于 SQL Server 来说是必要的吗?Oracle 必须逐行计数,因此可以避免。)

谢谢!

最佳答案

您也可以使用管理工作室

Right Click on table -> Properties -> Storage

或者您可以使用如下查询:

sp_spaceused 'TableName'

要为所有表获取它,您可以像 tihs 一样使用它:

CREATE TABLE #tmp
(
tableName varchar(100),
numberofRows varchar(100),
reservedSize varchar(50),
dataSize varchar(50),
indexSize varchar(50),
unusedSize varchar(50)
)
insert #tmp
EXEC sp_MSforeachtable @cmd="EXEC sp_spaceused '?'"


select * from #tmp

关于SQL Server - 获取表的大致大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30788540/

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