0

在我们的多租户应用程序where account_id = ...中(几乎)添加到每个查询中。几乎每个表都有一个 account_id 列。

在这样的设置中,当为表的外键添加索引时,我是否应该始终在索引中包含 account_id?

例如:

add_index 'projects', ["customer_id"]
OR
add_index 'projects', ["customer_id","account_id"]

我们的应用程序的设置方式在没有 account_id 条件的情况下永远不会在项目表上运行查询,所以我希望第二个选项是正确的。但我不是数据库专家..

在我们的案例中,最好的方法是什么?

4

1 回答 1

0

这在很大程度上取决于任何特定客户 ID 值的 Projects 表中将存在多少行。如果您永远不会拥有超过几百个左右,我不确定我是否会费心添加帐户 ID 列。当然,真正确定这一点的最佳方法是进行一些性能测试,无论是否使用索引。

于 2012-12-09T21:29:08.830 回答