Pular para o conteúdo

Função APPROX_COUNT_DISTINCT: Alternativa mais rápida para COUNT (DISTINCT)

Approximate Count Distinct

A função APPROX_COUNT_DISTINCT proporciona uma alternativa para a função COUNT (DISTINCT expr).

Esta função processa grandes quantidades de dados de uma forma muito mais rápida que o COUNT, com um desvio insignificante do resultado exato.

Ela não pode ser utilizada com os seguintes tipos de dados:

  • BFILE
  • BLOB
  • CLOB
  • LONG
  • LONG RAW
  • NCLOB

A forma comum de utilização:

SQL> SELECT count (distinct manager_id) AS "Gerentes Ativos"
  FROM hr.employees_big; 


Gerentes Ativos
---------------
     18

Elapsed: 00:00:03.02

Utilizando a função APPROX_COUNT_DISTINCT:

SQL> SELECT APPROX_COUNT_DISTINCT(manager_id) AS "Gerentes Ativos"
  FROM hr.employees_big; 

Gerentes Ativos
---------------
     18

Elapsed: 00:00:00.62

Para quem quiser se aprofundar no assunto, indico o seguinte post:

http://externaltable.blogspot.com/2014/08/scaling-up-cardinality-estimates-in.html

Abraço

Quão útil foi este post ?

Clique em uma estrela para classificar o post

nota média 5 / 5. Contagem de votos: 32

Sem votos ! Seja o primeiro a classificar !

Marcações:

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress