マッスル・メモリー

筋肉エンジニアのブログ

2023-05-01から1ヶ月間の記事一覧

【Rails】 count, length, sizeの違いと使い分け案

count キャッシュしない。 毎回sqlのcountを使ってカウントする。 最新の件数を取得できる。 area = Area.first # 毎回sqlが発行される area.sub_areas.count # (0.4ms) SELECT COUNT(*) FROM `sub_areas` WHERE `sub_areas`.`area_id` = 1 # => 1 area.sub_…

【Rails】 N + 1問題の解決法、preload, eager_load, includes, joinsの使い分け案

N+1問題とは ループ処理の中でその都度クエリを発行してしまいパフォーマンスが低下してしまうこと。 解決策の1つは、Eager Loading(積極的な先読み)を使用すること。 Eager Loadingでは、関連するデータを事前にまとめてロードすることで、N回のクエリを…