Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

COUNT é mais rápido do que puxar os registros e contar no código?


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.