2011-07-28 83 views
0

由於我的問題簡單化的,可以說我有一首歌曲和藝術家表:Rails的渴望加載關係表只有1個數據

songs 
----- 
id 
name 
artist_id 

artists 
------- 
id 
name 

大部分我查詢歌曲和時間我總是需要附上藝術家的名字。爲歌曲添加另一列名爲artist_name是否有意義,以便我不需要執行.includes(:artist)急切加載?

我認爲我目前的設計是典型的設計,但是最有效的設計是什麼,或者什麼是處理這種情況的最佳方式?

回答

0

要回答我的問題:

看來數據庫的非規範化纔有意義,在重讀應用和第一個應該廣泛的輪廓。

一些選項:

  1. 添加包括對歌曲的默認範圍
  2. 去正規化藝術家的名字和使用模式掛鉤,以確保數據的完整性
0
Song.find(2, :include => :artist) 
+0

對不起,我寫了.joins(:藝術家)但我的意思是寫.includes(:藝術家),這正是我目前正在做的。 –