基本編はRails定番のN+1問題。RailsのActiveRecordは便利だが、非効率なデータベースクエリを発生させることもある。そうならないようコーディングするにはどのようにすればいいかを考えるのがこの問題の趣旨。問題は以下のとおりだ。 ○設問 Forkwellの「読んだ・書いた」の一覧ページを高速化しましょう。 読んだ・書いたのページで、それぞれの記事の「読んだよ!」の総数や、記事についたコメントの総数も一緒に表示する、という仕様だったとします。 https://forkwell.com/publications 何も考えずにコードを書いたところ、以下のようになりました。 https://github.com/CodeIQ/forkwell/tree/master/question_1 しかし、このコードだとレコード数が増えれば増えるほど、SQLの発行数が増える、いわゆる『N+1問