2015-08-16から1日間の記事一覧
Bulletを使用していたら下図のようなメッセージが表示された。どうやら原因は下記ビューのartist.songs.sizeとしている部分で、関連するモデルの件数を計算するためにSELECT COUNT(*)をデータの数だけ実行してしまっている。 … <% @artists.each do |artist|…
Bulletの設定 github.comN+1問題を検出するためにBulletというgemを試してみる。 Gemfileに下記行を追加してbundle installする。 group :development, :test do gem 'bullet' end
github.com多対多のリレーションがあるモデルに対してビューを変更したら大量のSQL文が実行されるようになったので、まず現状を確認してみる。 rack-mini-profilerというgemを追加すると簡単なパフォーマンス計測ができるようになるのでこれを使用してみる。…
Artistモデルを作成し、SongモデルとArtistモデルの間に多対多のリレーションを作成したので、コントローラとビューも更新する。 最初に下記コマンドでひな形を作成する。今回はArtistの一覧を表示するindexページとArtist個別のshowページを作成する。 $ ra…