我有一个公制表,我希望它非常大。它具有多态关联,因此它可以属于其他想要记录某些指标的模型。我通常索引这样的关联列以加快关联加载。 I've heard people talking about joint-indexing this association .这看起来像:add_index :comments, [:commentable_type, :commentable_id]
But I've also heard counsel against creating indexes of low-cardinality ,因为索引的返回不会抵消维护它的开销。由于我的多态关联的 _type 一半在数百万行中可能只有 4-5 个值,因此我倾向于仅对多态关联的 _id 部分进行索引。我可能会使用 _id 列和其他一些未提及的整数和日期时间列创建一些额外的联合索引,但我也不会在这些索引中包含 _type。
这是你会做/推荐的吗?
最佳答案
最终,这值得在添加索引之前和之后在真实的数据集上进行基准测试 - 在大小和数据上都是真实的。
但是,您不是在只有几个值的字段上创建索引。索引是在两个字段的组合上,很可能会有很多不同的值组合。组合字段上的索引是一个聪明的主意。
关于ruby-on-rails - 我应该联合索引 ActiveRecord 多态关联吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3984211/