sql - 在 SQL Server 2008 中计算表行数的有效查询是什么?

标签 sql sql-server sql-server-2008

在 SQL Server 2008 中计算表行数的有效查询是什么

最佳答案

为了获得准确的答案,在规范化数据库中获取表中准确的行数的明智方法是执行:

select count(*) from table;

对于没有任何索引的表,数据库会进行全表扫描。如果您为非空列建立了索引,数据库可能会使用(可能小得多的)索引来解析您的查询。

如果您需要更快的解决方案,则必须跟踪表格中的行数,而不必求助于对行本身进行计数。例如,您可以在另一个表中自己执行此操作(作为您精心设计的 API 的一部分或通过使用触发器等)或为此目的创建一个*索引 View 。

但是,如果您只需要一个近似值,并且快速得到答案很重要,其他人已经展示了通过使用字典来做到这一点的方法(John、Martin)

*免责声明:我实际上并没有在 SQL Server 中使用索引 View ,我只是阅读文档并假设它们可以做与 Oracle 中的物化 View 相同的事情。

关于sql - 在 SQL Server 2008 中计算表行数的有效查询是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4359704/

相关文章:

sql - 删除表中多个重复行

mysql - 使用 SQL 和 Azure API 获取 Azure 中的前 20 个元素

mysql - 删除不同数据库中没有相同代码的行

sql - Oracle 中 listagg 的替代方案?

java - Android、SQLite...主键插入为空

sql-server - 使用存储过程中的表名称填充数据集

SQL:如何显示通过和失败学生的百分比?

c# - 某些文件被 SQL Server FileStream 损坏

c# - 必须在 C# 中声明标量变量

mysql - 使用 WHERE IN 和 MIN 的子查询