フォロー

Model.search(cond).joins(何とか).group(Model.arel_table[:id]).order('count_all_distinct_all_all desc').limit(1).count('/* DISTINCT */ *')
という地獄みたいなクエリが発生した(作業)

これで↓みたいなSQLが生成されます
SELECT COUNT(/* DISTINCT */ *) AS count_all_distinct_all_all, `models`.`id` AS models_id
FROM `models` INNER JOIN `何とか` ON 略
GROUP BY `models`.`id` ORDER BY count_all_distinct_all_all desc LIMIT 1

Model.search(cond)がincludesを使用している場合に、Railsが変な判断をして単にcountしようとした場合に、COUNT(*) -> COUNT(DISTINCT models.id)に書き換える動作をするっぽい(正確にはincludesがあった場合にdistinctされて(ActiveRecord::Calculationsのcalculate)、distinctな場合にCOUNT(*)->COUNT(DISTINCT PK)に書き換えられてる(ActiveRecord::Calculationsのperform_calculation))

count('/* DISTINCT */ *') とすることによってRailsに対してこれは既にDISTINCTされていると偽装する黒魔術

ログインして会話に参加
GGTea - Mastodon

ggtea.orgの人のほぼ個人用インスタンスです

サービスの継続性その他は管理人が管理出来る範囲で処理されます(IPv4は動的です)

このサーバは頻繁にmasterへ更新されたり、PullRequestのチェックに使用される場合があります。

IPv4/IPv6のDual-Stack対応インスタンスです。

Stagingサーバとして mdx.ggtea.org があります。