Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 15920|Resposta: 1

[Fonte] Incompreensivo de count(0) e count(*) em instruções SQL

[Copiar link]
Publicado em 10/08/2017 13:29:00 | | |
Recentemente, a função numérica tem sido muito usada e, quando o número a ser contado é relativamente grande, descobre-se que contar(*) leva mais tempo, e contar(1) leva menos.

Alguns documentos trazem as seguintes declarações:

Se sua tabela de dados não tiver uma chave primária, então count(1) é mais rápida que count(*).  
Se houver uma chave primária, então a chave primária (chave primária conjunta) também é mais rápida que count(*).  
Se sua tabela tem apenas um campo, então count(*) é o mais rápido  
contar(*) contar(1) Comparar os dois. O principal é contar os campos de dados correspondentes a (1).  
Se count(1) for um polyindex, id, então ele deve ser count(1) mais rápido. Mas a diferença é muito pequena.  
Como count(*), o campo é automaticamente otimizado para especificar para. Então não há necessidade de contar(?), usar contagem (*), SQL vai te ajudar a completar a otimização

  Detalhes da contagem:
count(*) retornará o número total de todas as linhas presentes na tabela, incluindo linhas com valor nulo,No entanto, count (nome da coluna) retornará o número total de todas as linhas da tabela, exceto nulo(Colunas com valores padrão também são contadas).
nome distinto da coluna, o resultado será o resultado após remover o valor nulo e duplicar os dados


No passado, eu não sabia que o blog dizia que todos eram recomendados a usar count(0) e que a eficiência das consultas era relativamente alta, etc

Hoje, descobre-se que usar contagem (0) é um equívoco!!
count(0) A primeira coluna da estatística não está vazia

Não use number(nome da coluna) ou count(constante) em vez de count(*),

count(*) é a sintaxe para o número padrão de linhas definidas pelo SQL92, que não tem nada a ver com o banco de dados, NULL e não-NULL.

Nota: count(*) conta linhas com valor NULL, enquanto count(nome da coluna) não conta linhas com valor NULL.

Portanto, no futuro, quando você fizer todas as estatísticas e não descartar dados vazios, é melhor usar honestamente contar (*)!!








Anterior:A diferença entre as variáveis de definição let e var em js
Próximo:O jQuery implementa tabela para exibir até 10 dados
Publicado em 10/08/2017 13:54:00 |
Ensinava                 
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com