Rails ActiveRecord — count、length、size

使用 ActiveRecord 取得資料筆數的方式有三種用法,分別是 count、length、size,各自由不同的實作去取得資料筆數,正確的使用可以避免不必要資料庫查詢。 > 以下範例為 GroupClass 底下有多堂 Lesson 課程 group = GroupClass.first lessons = group.lessons.all count ...

Rails ActiveRecord — preload、eager_load、includes

預載主要是為了避免 N+1 問題,以下會先使用常搞混的 joins 看看,接著嘗試三種預載方式,來看他們實際產生的 Query 情況,比較之間的差異。 > 測試於 Rails 4.2、Rails 5.2 先產生兩個測試用的資料表 Category - Book +----+-------+ +----+-------------+----------+ ...