首页 >数据库 >mysql教程 >如何高效统计所有SQL Server数据库表的行数?

如何高效统计所有SQL Server数据库表的行数?

Linda Hamilton
Linda Hamilton原创
2025-01-08 22:53:44414浏览

How Can I Efficiently Count Rows in All SQL Server Database Tables?

有效确定 SQL Server 表中的行数

数据库管理员经常需要检查其 SQL Server 数据库中的数据量。 本文提供了一种识别具有非零行数的表的解决方案,这可能会触发数据库重新初始化。

以下 SQL 脚本提供了一种简化的方法:

<code class="language-sql">CREATE TABLE #counts (table_name VARCHAR(255), row_count INT);

EXEC sp_MSForEachTable @command1='INSERT #counts (table_name, row_count) SELECT ''?'', COUNT(*) FROM ?';

SELECT table_name, row_count FROM #counts ORDER BY table_name, row_count DESC;

DROP TABLE #counts;</code>

此脚本使用 sp_MSForEachTable 迭代每个表。 对于每个表,它都会计算行数并将表名称和行数插入临时表 #counts.

结果按表名称和行数(降序)排序,提供了数据分布的清晰概述。

要计算整个数据库的总行数,请添加以下语句:

<code class="language-sql">SELECT SUM(row_count) AS total_row_count FROM #counts;</code>

这有效地总结了整个数据库的大小。 该脚本使数据库管理员能够有效地监控数据量、识别空表并通知数据库维护和重新初始化决策。

以上是如何高效统计所有SQL Server数据库表的行数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn