1つの解説
新規および最適化されたSQL関数、APPROX_COUNT_DISTINCT()、おおよその数の別個の集合を提供します。大量のデータの処理は、正確な結果から無視できる程度のずれで、特に異なる値の数が多いデータセットのために、正確な凝集よりも著しく速いです。
正確な結果からの偏差の異なる値を有する大規模なデータセットを無視することができ、特にために、はるかに速く正確重合より大量のデータを処理します。
異なる値をカウントする必要性は、今日のデータ分析における共通の操作です。ほとんど正確な結果を提供しながら、桁違いに処理時間とリソース消費を最適化することは、既存の処理を高速化し、分析的洞察力の新しいレベルを可能にします。
この機能は、今日のデータ分析のために有用である非常に大きく、かつ、ほぼ正確な結果を提供することができます。キーは、処理速度が非常に高速です。
注:BFILE、BLOB、CLOB、LONG、LONG RAW、またはNCLOBデータ型を除きます。そして、列がNULL値が含まれて無視します。
たとえば、2:
- 異なるOBJECT_NAMEの総数の通常のビュー
15:39:31 SQL> select count(distinct(object_name)) from cndba_t;
COUNT(DISTINCT(OBJECT_NAME))
---------------------------
67455
Elapsed: 00:00:00.64
- 利用APPROX_COUNT_DISTINCT()
15:39:36 SQL> select APPROX_COUNT_DISTINCT(object_name) from cndba_t;
APPROX_COUNT_DISTINCT(OBJECT_NAME)
----------------------------------
67063
Elapsed: 00:00:00.14
あなたは時間差が、ギャップの大きさが非常に大きいことがわかります。より大量のデータ、複数の異なる値、より明白なギャップ。
参照文献:
http://docs.oracle.com/database/121/SQLRF/functions013.htm#SQLRF56900