Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    • Por que escalar escrita é tão mais difícil do que escalar leitura?
    • MongoDB Analyzer para .NET: Visualize e otimize suas consultas de forma simples
    • Cardinalidade: O Conceito que Transforma o Desempenho de Bancos de Dados SQL e NoSQL
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Banco de dados»Sql»Contagens aproximadas com APPROX_COUNT_DISTINCT no SQL Server

    Contagens aproximadas com APPROX_COUNT_DISTINCT no SQL Server

    Jhonathan SoaresBy Jhonathan Soares14 de janeiro de 20191 Min Read Sql
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link

    Todos nós utilizamos consultas que usam COUNT DISTINCT para obter o número exclusivo de valores não nulos de uma tabela. Esse processo pode gerar um impacto perceptível no desempenho, especialmente para tabelas com milhões de registros ou contagens que não utilizam o melhor plano de execução possível. Muitas vezes, não há maneira de contornar isso. Para ajudar a mitigar essa sobrecarga, o SQL Server 2019 nos introduz a aproximação da contagem distinta com a nova função APPROX_COUNT_DISTINCT.

    A função aproxima a contagem em uma precisão de 2% à contagem real de elementos, porém com um retorno muito mais rápido.

    Vamos ver isso em ação.

    --contagem 1
    SET STATISTICS IO ON  
    SELECT COUNT(DISTINCT([*])) as DISTINCTCOUNT  
    FROM [dbo].[logins]  
    
    
    --contagem 2
    SELECT APPROX_COUNT_DISTINCT ( [*]) as APPROX_DISTINCTCOUNT  
    FROM [dbo].[logins]  


    Veja resultados da primeira execução e da segunda execução:

    SQL Server Execution Times –CPU time = 4258 ms, elapsed time = 15285 ms.
    SQL Server Execution Times –CPU time = 6398 ms, elapsed time = 3887 ms.


    Você pode ver que o tempo decorrido é significativamente menor! Grande melhoria usando esta nova função.

    Veja mais exemplos aqui

    Você pode fazer o download da versão prévia do SQL Server 2019 aqui

    Um grande abraço à todos! 🙂

    Share. Facebook Twitter LinkedIn Telegram WhatsApp Copy Link
    Jhonathan Soares
    • Website
    • Facebook
    • X (Twitter)
    • LinkedIn

    Criador do blog Código Simples e com mais 15 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist.

    Posts Relacionados

    Cardinalidade: O Conceito que Transforma o Desempenho de Bancos de Dados SQL e NoSQL

    NoSql Sql 14 de janeiro de 20257 Mins Read

    Entendendo os diferentes tipos de locks em bancos de dados e como evitá-los

    NoSql Sql 2 de julho de 20248 Mins Read

    Happy Hour com Dados #14 – Modelagem de Dados

    Dicas NoSql Sql 22 de setembro de 20201 Min Read
    Newsletter

    Digite seu endereço de e-mail para receber notificações de novas publicações por e-mail.

    Junte-se a 25mil outros assinantes
    Posts recentes
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    Categorias
    • Arquitetura (14)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (90)
      • NoSql (58)
      • Sql (38)
    • Boas práticas (29)
      • Gestão & Produtividade (1)
      • Metodologias Ágeis (6)
    • Cursos (52)
    • Dicas (105)
    • Front-End (92)
    • IA (1)
    • Linux (6)
    • NodeJS (4)
    • Post do Leitor (9)
    • Python (5)
    • Seo (12)
    • Tecnologia (30)
      • ITIL (1)
      • Padrões de Projeto (4)
    • Testes (2)

    VEJA TAMBÉM

    Cursos
    12 de fevereiro de 20166 Mins Read

    1000 livros gratuitos sobre programação!

    Olha que dica bacana! A pagina só com livros sobre programação é mantida no GitHub…

    30 APIs Gratuitas para desenvolvedores

    Facebook X (Twitter) Instagram LinkedIn

    Type above and press Enter to search. Press Esc to cancel.

    Vá para versão mobile