2017-04-06 28 views
3

我有9個模型在我的應用程序中使用回形針專欄照片和封面照片。Rails - 使用或不使用多態性性能

我有兩個選擇(至少從我有限的瞭解)

  1. 擁有與其他9款相關的多態模型ProfilePicture
  2. 添加個人資料圖片和封面照片在每個模型中的字段。

總共有9個模型有大約3000萬條記錄。

使用多態性或繼續使用正常工作流會更好嗎?還是有更好的選擇,我錯過了?

回答

1

表現雖然很重要,但並不總是最關鍵的方面。理論上你必須將列和邏輯複製到9個不同的模型。如果你採用多態路由,你將在一個地方有邏輯,但是必須爲每個用戶加載相關的記錄。我會去多態並緩存與用戶關聯的。你可以使用像IdentityCache這樣的東西來做到這一點。只要您在ProfilePicture表上索引picturable_idpicturable_type,查找速度將非常快。