ruby-on-rails-3 – 没有Type的Rails多态关联(唯一id)

前端之家收集整理的这篇文章主要介绍了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图表,你已经隔离了问题并针对它运行性能测试,如果你已经完成所有这些,你就会看到对于这个问题的性能问题,那么我建议可能各种非规范化解决方案会给你一些改进.非规范化是优化数据库性能问题的常用工具.您将在多个位置存储数据,但是您的查询将触及更少的表(更快),在更新记录(更复杂的应用程序代码)时保持多个位同步的额外开销.

如果你可以发布一些关于你的例子的更多细节,那么更容易提出一些更具体的建议或举例.

猜你在找的Ruby相关文章