🔥 Articles, eBooks, Jobs, Columnist, Forum, Podcasts, Courses 🎓



Count(1) x Count(PK) x Count()

Saiba a diferença entre eles

Post rápido, só para esclarecer a dúvida de um desenvolvedor.

A dúvida era sobre o Count(1)xCount(PK)xCount(*), se realmente tem diferença estes comandos.

Vamos criar um ambiente de teste:
CREATE table Cliente
(
   Codigo int identity(1,1) primary key,
   Nome varchar(50)
)
GO

insert into Cliente values(NEWID())

GO 100000

Agora vamos testar, mas vale lembrar que antes da execução de cada comando deve limpar o cache, com os comandos DBCC DROPCLEANBUFFERS e DBCC FREEPROCCACHE

select COUNT(1) from cliente
select COUNT(Codigo) from cliente
select COUNT(*) from cliente

Muitos desenvolvedores utilizam o count(1) e insistem que é a melhor forma.

Analisando o resultado vemos que apesar de especificar formas diferentes, o SQL sempre interpreta como Count(*) e todos tem o mesmo custo.



Subscribe ecode10.com

Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.
You can cancel anytime.

Log In





Related articles




Top