サブセレクト前節のヒントでおわかりのように、12.3.2のフィードの実装は、投稿されたマイクロポストの数が膨大になったときにうまくスケールアップできません。フォローしているユーザーが5000人程度になるとこういうことが起きる可能性があります。あぁ、マイクロポストの読み込みというより、ユーザーの配列を作るのに大変なのか。12.3.2で示したコードの問題は、following_idsでフォローしているすべてのユーザーをメモリーから一気に取り出し、フォローしているユーザーの完全な配列を作り出したことです。TECHSCORE(テックスコア)複数のクエリを組み合わせて、1つのクエリが生成した出力で、他のクエリの出力を制御することができます。SQLの用語で「サブクエリ」とも言うっぽい。複数のクエリを組み合わせることか...。リスト12.45でコードを若干修正し、フィードをリファクタリングすることから始めましょう。end前者の疑問符を使用した文法も便利ですが、同じ変数を複数の場所に挿入したい場合は、後者の置き換え後の文法を使用するのがより便利です。今は一箇所しか挿入してないけど、これから増やすのか。こっちのが便利なんだね。データベースに保存するので、より効率が高まります。へー...?そうなのか。なんかぱっと見変わってないんだけどこれで効率良くなるのか。Rubyコード使うよりSQL使う方が効率いいってことなのかー。endテストは特に問題なし。skipsもちろん、サブセレクトを使用すればいくらでもスケールアップできるなどということはありません。大規模なWebサイトでは、バックグラウンドジョブを使用して、フィードを非同期で生成するなどの対策が必要でしょう。Webサイトのスケーリングのようなデリケートな問題は本書の範疇を超えます。あ、その辺りは扱わないのか...。Twitterとかは非同期なのかもね。Ajax使ったりするサイトもありそう。これは「チュートリアル」だからね。Webサイトって奥が深い。今日の学習時間は【21分】。サブセレクト」のHomeページにフィードを追加するところから。フィードを初めて実装する」から。フィードを初めて実装する最初に、このフィードで必要なクエリについて考えましょう。