1 Reply Latest reply on Oct 24, 2018 4:27 AM by LM Seven

    COUNTDが「なぜ」遅いのか、教えてください。

    taro suzuki

      皆様の知識をお借りしたく、質問させていただきました。

      COUNTDは「なぜ」処理速度が遅いのか、教えてください。

       

      Tableauのスキルは、使い始めた程度です。

      また、データベース方面の知識これからつけていこうと考えています。

       

      「Tableauデータ分析 ~実践から活用まで~」という書籍や、「Tableauホワイトペーパー」の中で、

      ”COUNTDは遅い処理なので使用は控えたほうがよい”との記述があった一方で、

      「なぜ」遅くなるのか、処理の原理は解説されておりませんでした。

       

      インターネットでもいろいろと検索したのですが、いまいち理解できず、

      こちらで質問させていただきました。

       

      遅くなる理由の1つとして、COUNTD()で集計したいカラムが数千、

      数万のユニークな値を持っている場合などは、関係があるのでしょうか。

       

      お手数の際にご返答いただけますと幸いです。

      よろしくお願いします。

        • 1. Re: COUNTDが「なぜ」遅いのか、教えてください。
          LM Seven

          ユニーク値をカウントするにはまず全体をソートし、

          ひとつずつ次の値と等しいかどうか判別して重複を除外し、

          最終的に得られた重複を除外した数列を数える必要があるからですね。O(n log n)なのでnが増えるとどんどん重くなります。

           

          単純にやることが多いから重いです。

           

          一応、もし間違って覚えているなら今後困ることがあるので指摘しておくと

          s/お手数/お手すき/