movee(モビー) オノデラのブログ

(株)movee代表。週末は自社サービスを作っています。

group byは暗黙ソートをする

Group By句は暗黙ソートしている。

DBのパフォーマンスについて色々調べているところだが、ソート、一般的にorder by句はパフォーマンスが遅くなるのはよく知られているところ。理由はソート結果を一時的にメモリに保存するのでパフォーマンスが落ちてしまう。

でもソートするのはOrder ByだけではなくてGroup By、集約関数(SUM, CONNT, AVG, MAX, MIN)、DISTINCT、集合演算子(UNION, INTERSECT, EXCEPT)、ウィンドウ関数もらしい。分析系でよく使う句ばかり。

特に大量データ相手だとパフォーマンスは命取りになりかねないので注意が必要。