加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 19:03:29 所属栏目:百科 来源:网络整理
导读:在我的应用程序中,每个对象(表)都有一个唯一的id. 现在,正因为如此,当使用看到id时,我知道它是什么对象类型,无论是用户还是酒店. 我想知道是否可以在多态关联中保存item_type的查找,使用内存中的id序列查找修补查找,从而节省DB和索引中的空间. 可以这样做吗
在我的应用程序中,每个对象(表)都有一个唯一的id.

现在,正因为如此,当使用看到id时,我知道它是什么对象类型,无论是用户还是酒店.

我想知道是否可以在多态关联中保存item_type的查找,使用内存中的id序列查找修补查找,从而节省DB和索引中的空间.

可以这样做吗?

我正在使用Rails 3.0.9,Ruby 1.9.2

解决方法

这可能不是您正在寻找的答案.我确信这在某种程度上是可能的,但你要反对在ActiveRecord中设计多态的方式,这可能会导致一连串的痛苦.

我遇到的第一个问题是为什么?你要求进行性能优化.你看到了性能问题吗?您是否通过仪器,New Relic,Ruby分析器和其他工具进行了验证,这第二次查找确实会破坏您的性能?如果你还没有这样做,那么你可能会浪费你的时间.预测性能瓶颈是一门不准确的科学,并且遵循80-20规则.

如果你真的,真的有这个问题并且你已经彻底分析了你的日志,你的New Relic图表,你已经隔离了问题并针对它运行性能测试,如果你已经完成所有这些,你就会看到对于这个问题的性能问题,那么我建议可能各种非规范化解决方案会给你一些改进.非规范化是优化数据库性能问题的常用工具.您将在多个位置存储数据,但是您的查询将触及更少的表(更快),在更新记录(更复杂的应用程序代码)时保持多个位同步的额外开销.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读