limited_ids))が行われています。実装を見てみましょう。見れば分かるかと思いますが、distinctをつけたクエリを発行することで、絞り込み対象のidリストを取得しているのですが、このdistinctのSQLがスロークエリになりやすいということになります。しただけでは、distinctで対象レコードを絞るということは行われません。アソシエーションだけど、DB上は1対Nな関連であった場合にはレコード数の絞り込みで問題が発生します。した時にレコード数が10に満たなくなるという事が発生しえます。設定している実装を見たりしますが、下記のような実装をしている場合は、たいていDB上は1対Nな関連であると思うので、eager_loadする際には気をつけましょう。切り替えを検討するのが良いと思います。:blogsendpreloadの際に気にしておくこと一方、preloadの際に注意することはIN句が大きくなりすぎないようにすることです。...)といったようなSQLが発行されますが、最初のSQLで得られるblogsのレコード件数が非常に大きいとIN句が膨大に膨らんできます。マネーフォワードではDBに主にMySQLを利用していますが、MySQLでいうと以下の設定値を気にする必要が出てくるかもしれません。max_allowed_packetSQLのサイズが設定値を超えた場合SQLエラーとなるrange_optimizer_max_mem_sizein句が巨大になるに比例してサイズが必要となるメモリで、メモリサイズの設定値を超えるとindexが使われずテーブルフルスキャンとなるpreloadを利用する際は、ページング等で件数絞り込みがされているかどうか意識しましょう。最後に「とりあえずincludes」を見直してもらう機会が増えると幸いです。マネーフォワードでは東京だけでなく、福岡、京都、ベトナムでもエンジニアを募集しています。