使用Acts作为租户时使用复合索引

时间:2013-08-19 06:42:08

标签: ruby-on-rails-3

我正在开发一个Rails 3.2 Web应用程序,我使用Acts_as_tenant gem作为多租户。使用这个gem时,我必须在我的所有模型中添加一个名为account_id的字段。因此,当我执行此Project.find(1)时,它使用范围,以便account_id始终在查询中。我的问题是:

我是否需要向Project模型添加复合索引?由于我正在使用account_id(gem就是这样)和project_id显示,我有一个索引与这两个在一起吗?现在我在每个字段都有单独的索引。

2 个答案:

答案 0 :(得分:2)

对Acts_as_tenant gem(从未使用过)知之甚少,但从理论上讲,如果您出于任何原因查询idaccount_id字段,那么是< / strong>您需要添加复合索引来覆盖这些查询。

默认情况下,确保gem没有添加额外的索引。

答案 1 :(得分:1)

我发现这是一个关于索引的非常好的资源 - 但在阅读它之前我是相当无能的。我认为这取决于你目前的理解。这有点旧,但总的想法没有改变......看看吧!

https://tomafro.net/2009/08/using-indexes-in-rails-index-your-associations

这个专门针对复合索引的那个 -

https://tomafro.net/2009/08/using-indexes-in-rails-choosing-additional-indexes