gpt4 book ai didi

ruby-on-rails - 许多不同模型的评论 : polymorphic or not? (Ruby on Rails)

转载 作者:行者123 更新时间:2023-12-04 15:37:02 25 4
gpt4 key购买 nike

我正在构建一个允许对 5 个独特模型(帖子、照片、事件等)发表评论的应用程序,还有 2 或 3 个正在开发中。就目前而言,每个模型都有一个关联的评论模型(PostComments、PhotoComments、EventComments 等),尽管评论本身在所有模型中通常是相同的。

我最近发现了多态关联的力量,在 Railscast #154 中得到了完美的解释。 ,这实际上将许多模型合并为一个模型,并将许多表合并为一个表。

虽然多态关联会清理代码和冗余,但它们如何影响性能?我不太了解数据库优化,但似乎从通用评论表中的 1,000,000 行查询评论比从特定评论表中的 200,000 行查询评论需要更长的时间。是否值得切换到多态关联(虽然应用程序仍处于开发相对早期的阶段)还是我应该继续为每种类型的评论制作模型/表格?

最佳答案

这真的取决于网站有多大。首先,您必须在 2 列上添加索引。

add_index :comments, [:commentable_type, commentable_id]

这将大大提高速度。

如果以后因为有 1.000.000 条评论而遇到很大的速度问题,您可以随时使用缓存甚至迁移到多个表。但实际上,您将需要大量评论才能遇到速度问题。只要你索引你的表!无论如何,在 1.000.000 条记录中进行搜索查询并不是那么多。

我说,做1张 table !

关于ruby-on-rails - 许多不同模型的评论 : polymorphic or not? (Ruby on Rails),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5548573/

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