top of page
Foto do escritorcaiobuzo

O que é mais rápido: SELECT COUNT(1) ou SELECT COUNT(*) ?

Fala pessoal, no post de hoje vou responder a essa pergunta, afinal o que é mais rápido?


Por conceito, quando usamos * estamos dizendo ao SQL Server que desejamos que ele nos retorne todas as colunas de uma determinada tabela, por outro lado quando informamos o 1 (por exemplo), quando usado entre o SELECT e o FROM estamos dizendo ao SQL que desejamos que ele nos retorne (na maioria das vezes) a primeira coluna da tabela apenas.


Com isso em mente a lógica seria dizer que:

- Quando usamos o COUNT(*) estamos pedindo para contar todas as linhas de todas as colunas, por exemplo COUNT(ID,NOME,IDADE,TEL,ENDERECO...).

- Quando usamos o COUNT(1) estamos pedindo para contar todas as linhas usando como referência apenas a coluna 1, por exemplo COUNT(ID) .


Em tese o COUNT(1) seria mais rápido e consumiria inclusive menos memória, pois imagine uma tabela com 200 colunas, para que retornar todas elas se apenas uma já é suficiente para contar as linhas que é o que desejamos!

Em alguns momentos fiquei nessa dúvida, mas analisando mais a fundo percebemos algo surpreendente.


Vamos botar a mão na massa!


Estou utilizando uma tabela que criei com 3.287.295 registros


Ao verificarmos o plano de execução dos dois COUNTs vemos exatamente o mesmo resultado, mesmo custo, ou seja esta exatamente igual.


Para confirmar podemos selecionar o Stream Aggregate do plano de execução do COUNT(1) e ir em propriedades (F4). Procure pelo item Default Values.



Ou seja, mesmo informando (1), por trás dos panos o SQL Server executa um COUNT(*), por isso o tempo, consumo e o plano de execução são exatamente os mesmos.


Conta aí, já pensou em alguma situação que o COUNT(1) era mais rápido não?!?!


=)


Nos acompanhe em nossas redes sociais!

Youtube(vídeos novos todas as quartas): https://www.youtube.com/channel/UChFeqc-m7HZNdkoP0CshMGQ

Face & Instagram(conteúdo diário): dba on boarding

Até a próxima, tchau!




2.301 visualizações25 comentários

Posts recentes

Ver tudo

25 Comments


nailritualssaket
há 3 horas

Elevate your nail game at Nail Rituals, the best nail art studio in Saket! Offering creative designs, expert techniques, and premium products, we ensure your nails reflect your unique style. From intricate art to stunning finishes, our team provides a luxurious and personalized experience. Visit our studio today for the ultimate nail makeover and let your nails steal the spotlight. Book your appointment now!


Like

Spirit airlines atlantic city office in new jersey


Spirit Airlines operates an important hub at the Spirit Airlines Atlantic City office in New Jersey, catering to the needs of passengers flying through Atlantic City International Airport (ACY). This office plays a vital role in managing customer service inquiries, including flight bookings, ticket modifications, baggage issues, and general questions regarding Spirit Airlines' operations. Given that Spirit Airlines is a major carrier at Atlantic City International Airport, the Atlantic City office provides crucial support to both local travelers and tourists flying to and from this coastal city.


Like

is icelandair a good airline


If you're considering travel options and have come across Icelandair, it's worth noting that it's often regarded as a good airline for both international and transatlantic flights. Icelandair is the national carrier of Iceland and offers a unique blend of reliable service, comfortable cabins, and the opportunity to include a free stopover in Iceland, allowing travelers to explore this stunning island at no additional airfare cost.


Like

Explore captivating stories of success, resilience, and impact that highlight the diverse contributions of Nigerians across various fields on FamousTodayNG.

Like

Transform your organisation’s HR, benefits, and payroll operations with our simple-to-use, intuitive and integrated Cloudenly HR software.

Like
bottom of page