hasManyしたレコードはあんまりjoinしない
DoctrineでhasManyした(1対多あるいは多対多の関係にある)レコードを複数joinすると劇的に遅くなります。
Doctrineがよしなにやってくれるかと思いきや単純にjoinしてしまうので、結果セットが爆発的に膨れ上がります。今回は5つほどjoinしたら1700行強返ってきてました。これによりHydrationループ内のある処理が数万回呼ばれてました。
気をつけましょう。
hasManyをいっぱいjoinしたらよしなに処理してくれるようになってくれればありがたいんですがね。