🐈
Hoge.distinct.pluck(:fuga).size とかするなよって話
$ Hoge.distinct.pluck(:fuga).size
SELECT DISTINCT fuga FROM HOGE;
の実行結果から生成されるArrayに対してArray#sizeが走る。
実際にはこうして欲しい
$ Hoge.distinct.select(:fuga).count
SELECT COUNT(DISTINCT fuga) FROM HOGE;
SQL内で処理が完結するので高速になる。
Discussion