我正在构建一个应用程序,允许对5种独特模型(帖子,照片,事件等)进行评论,还有2或3种模式。就目前而言,每个模型都有一个相关的评论模型(PostComments,PhotoComments,EventComments等),虽然评论本身在所有模型中通常是相同的。许多不同型号的评论:多态与否? (Ruby on Rails)
我最近发现了多态关联的力量,在Railscast #154中完美地解释了这一点,它基本上将许多模型合并成一个模型,并将许多表合并成一个表。
尽管多态关联会清除代码和冗余,但它们如何影响性能?我对数据库优化知之甚少,但似乎需要更长时间才能从通用注释表中的1,000,000行以上的查询中查询特定注释表中的200,000行以上的注释。是否值得切换到多态关联(虽然应用程序在开发中还相对较早),还是应该继续为每种类型的评论制作模型/表格?
评论功能实际上是多态关联的最好例子。 1000000行对于具有适当索引和查询的体面的mysql服务器来说没有任何意义。不要试图解决不存在的问题:) – keymone 2011-04-05 07:44:42