2023-05-01から1ヶ月間の記事一覧
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_…
N+1問題とは ループ処理の中でその都度クエリを発行してしまいパフォーマンスが低下してしまうこと。 解決策の1つは、Eager Loading(積極的な先読み)を使用すること。 Eager Loadingでは、関連するデータを事前にまとめてロードすることで、N回のクエリを…