ruby-on-rails-3 – 没有Type的Rails多态关联(唯一id)
在我的应用程序中,每个对象(表)都有一个唯一的id.
现在,正因为如此,当使用看到id时,我知道它是什么对象类型,无论是用户还是酒店. 我想知道是否可以在多态关联中保存item_type的查找,使用内存中的id序列查找修补查找,从而节省DB和索引中的空间. 可以这样做吗? 我正在使用Rails 3.0.9,Ruby 1.9.2 解决方法
这可能不是您正在寻找的答案.我确信这在某种程度上是可能的,但你要反对在ActiveRecord中设计多态的方式,这可能会导致一连串的痛苦.
我遇到的第一个问题是为什么?你要求进行性能优化.你看到了性能问题吗?您是否通过仪器,New Relic,Ruby分析器和其他工具进行了验证,这第二次查找确实会破坏您的性能?如果你还没有这样做,那么你可能会浪费你的时间.预测性能瓶颈是一门不准确的科学,并且遵循80-20规则. 如果你真的,真的有这个问题并且你已经彻底分析了你的日志,你的New Relic图表,你已经隔离了问题并针对它运行性能测试,如果你已经完成所有这些,你就会看到对于这个问题的性能问题,那么我建议可能各种非规范化解决方案会给你一些改进.非规范化是优化数据库性能问题的常用工具.您将在多个位置存储数据,但是您的查询将触及更少的表(更快),在更新记录(更复杂的应用程序代码)时保持多个位同步的额外开销. 如果你可以发布一些关于你的例子的更多细节,那么更容易提出一些更具体的建议或举例. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |