如果您知道需要数据,请继续将其提取并在代码中进行计数。但是,如果只需要计数,则从数据库中提取计数要比实际检索行快得多。同样的标准做法是只拉您所需的东西。
例如,如果要计算表中的所有行,则大多数数据库实现都不需要查看任何行。表知道它们有多少行。如果查询在
where子句中具有过滤器并且可以使用索引,则它不再需要查看实际行的数据,只需对索引中的行进行计数即可。
所有这一切都没有计算传输的数据量。
关于数据库速度的经验法则是继续尝试并自己尝试一下。一般规则并不总是一个好的指标。例如,如果表是10行且只有几列,那么我可能会在需要时立即将整个事情拖过来,因为两次数据库往返将超过查询的成本。



