3
我有9個模型在我的應用程序中使用回形針專欄照片和封面照片。Rails - 使用或不使用多態性性能
我有兩個選擇(至少從我有限的瞭解)
- 擁有與其他9款相關的多態模型
ProfilePicture
。 - 添加個人資料圖片和封面照片在每個模型中的字段。
總共有9個模型有大約3000萬條記錄。
使用多態性或繼續使用正常工作流會更好嗎?還是有更好的選擇,我錯過了?
我有9個模型在我的應用程序中使用回形針專欄照片和封面照片。Rails - 使用或不使用多態性性能
我有兩個選擇(至少從我有限的瞭解)
ProfilePicture
。總共有9個模型有大約3000萬條記錄。
使用多態性或繼續使用正常工作流會更好嗎?還是有更好的選擇,我錯過了?
表現雖然很重要,但並不總是最關鍵的方面。理論上你必須將列和邏輯複製到9個不同的模型。如果你採用多態路由,你將在一個地方有邏輯,但是必須爲每個用戶加載相關的記錄。我會去多態並緩存與用戶關聯的。你可以使用像IdentityCache這樣的東西來做到這一點。只要您在ProfilePicture
表上索引picturable_id
和picturable_type
,查找速度將非常快。