Rails よく忘れる集 / アソシエーションが深いN+1問題

N + 1 問題。
サイトが遅くなる原因の1つですね。

それが何かはこちら参考に。
http://ruby-rails.hatenadiary.com/entry/20141108/1415418367

includes しとけばいいでしょーってなるけど、
あれ、User has_many :posts で Post has_one :image の時はどうすればいいのだろうか。

  

User は複数記事を持てる
Post は一枚メイン画像を持てる

  
みたいな場合は、こうする。


User = User.where( <お好きな条件> ).includes(stories: :image)

よく忘れるなー。

そんなかんじ。
Acts as taggable on のN+1問題をどーにかしたいなー。
  

何かありましたらコメントをどうぞ

comments powered by Disqus

人気の記事

950 Points チリ出身のギタリストが弾くドラゴンボールZがむちゃくちゃかっこいい…
774 Points Wordpress + Heroku + PostgreSQL + Amazon S3 = ¥0 / 無料でサイト運営
700 Points Rubyのチートシート 変数 / クラス / モジュール
524 Points Rubyのチートシート / アクティブサポート
451 Points 紙のデザイナーがウェブ開発できるようになるまでに必要なこと
435 Points Rails / Google Analyticsのデータを使って分析や管理画面のためのグラフをつくる
323 Points RailsとHerokuでノーティフィケーションをプッシュする / PusherとTurbolinksの兼ね合い
222 Points Rails / RSpec テスト書いたことない メンドクサイ(n´Д`)という時のチートシート
193 Points Rails / Ajaxを使って画面遷移しない一時保存機能をつける
193 Points Protractorでスクレイピングしてみた