gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 00:49:56 26 4
gpt4 key购买 nike

在我的应用程序中,每个对象(表)都有一个唯一的 ID。

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

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

这可以做到吗?

我正在使用 Rails 3.0.9、Ruby 1.9.2

最佳答案

这可能不是您正在寻找的答案。我确信这在某种程度上是可能的,但是您将与 ActiveRecord 中多态性的设计方式作斗争,这可能会导致大量的痛苦。

我想到的第一个问题是为什么?您要求性能优化。您是否发现性能问题?您是否使用仪器、New Relic、Ruby 分析器和其他工具验证了第二次查找确实是影响您性能的原因?如果您还没有这样做,那么您可能是在浪费时间。预测性能瓶颈是一门不准确的科学,并且受制于 80-20 规则。

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

如果您可以发布有关示例的更多详细信息,那么提出一些更具体的建议或给出示例会更容易。

关于ruby-on-rails-3 - Rails 没有 Type 的多态关联(唯一 id),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8534719/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com