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
SELECT Format Date Time for many countries
It is a good tip to use day by day
Creating a SiteMap using SQL Database
Como indexar melhor meu site e links?
Transformando linhas em colunas usando SQL Server
veja como funciona