The Programmer
Eager Loading
Ruby on Rails Eager Loading 加速:一次拿取所以資料
這個在 rails 裡面,資料有關聯的時候,會產生的一些效能上的問題,假設我們的例子如下:
1 | ┌──────────────────┐ ┌───────────────────┐ |
當我們在 books controllers 拿了一群東西,像是有 all 或是 where
1 | @books = Book.all |
常常接著又在 view 裡面使用 each 抓取了關聯的東西 author,這時 @books 不知道 author 的內容所以又必須呼叫一次 SQL 指令去拿資料,所以當資料量一大的時候,會產生效能上的問題。
1 | @books.each do |book| |