Se você sabe que precisa dos dados, vá em frente, puxe-os e conte-os em código. No entanto, se você precisar apenas da contagem, será significativamente mais rápido extrair a contagem do banco de dados do que realmente recuperar as linhas. Também é prática padrão puxar apenas o que você precisa.
Por exemplo, se você estiver contando todas as linhas em uma tabela, a maioria das implementações de banco de dados não precisa examinar nenhuma linha. As tabelas sabem quantas linhas têm. Se a consulta tiver filtros no
where
cláusula e pode usar um índice, novamente não precisará olhar para os dados das linhas reais, apenas contará as linhas do índice. E tudo isso sem contar os menos dados transferidos.
Uma regra prática sobre a velocidade do banco de dados é ir em frente e experimentar por si mesmo. As regras gerais nem sempre são um bom indicador. Por exemplo, se a tabela tivesse 10 linhas e apenas algumas colunas, eu poderia puxar tudo de qualquer maneira na chance de precisar, já que 2 viagens de ida e volta ao banco de dados superariam o custo da consulta.