我想創建一個小型的社交網絡分享照片和視頻,並同時事件:評論系統:Hstore與正常的關聯VS與polymorfic協會簡單的屬性
照片表的屬性有:title, description, name
視頻表屬性:title , description , name, runtime
事件表的屬性有:title, description, date_begining, date_end
,你可以看到有樹TABL之間有一些重複ES,但這根本不重要。
所以每個模型(圖片,視頻,事件)應該有可能添加評論,我使用PostgreSQL的和簡單的方法來做到這一點是使用Polymorfic協會,但我還認爲,我可以使用hstore和治療所有這些(照片,視頻,事件)的像一個單一的模型(例如共享),其中包含的公共屬性和屬性列添加到股份表:
Shares (title:string, description:string, name:string, properties:hstore)
與,我想我不需要任何polymorfic協會,我可以Share
和Comment
模型之間添加一個簡單的關係是這樣的:
class Share < ActiveRecord::Base
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :share
end
我在這裏的問題是,什麼是最好的方法做到這一點(快+性能)?如果我使用Hstore,如果我將更改或遷移到另一個數據庫管理系統,那麼我有可能在未來發現問題?
我希望看到有關性能,以及一些基準。 我已經看過一些討論,如果存儲爲HStore,那麼真正意義上的一大堆評論會表現得更好,但我沒有源代碼了...... –