个别索引 vs 多列索引

6 浏览
0 Comments

个别索引 vs 多列索引

目前我们有一个用于跟踪邀请的表格。我们有一个电子邮件字段,该字段已经建立了索引,但是当用户添加新记录电子邮件时,我们还有三个可选键。我们不允许重复条目,因此我们必须查询是否已存在电子邮件加可选键。目前,如果未指定这些键,则不会将它们添加到 select 语句中。通常情况下,只有电子邮件字段已指定并且使用索引工作得相当快。当添加键时性能下降。

添加三个索引是否会影响其他操作的性能?由于键可能很少用到,我们不希望对此情况的性能产生影响。

  • 电子邮件,键1
  • 电子邮件,键1,键2
  • 电子邮件,键1,键2,键3

另一个想法是添加1个键。

  • 电子邮件,键1,键2,键3

然后始终在查找中使用所有 3 个键(例如,键1 = mykey AND 键2 is NULL AND 键3 is NULL)

另请参阅

准确的重复帖子

admin 更改状态以发布 2023年5月22日
0
0 Comments

这取决于表格更新的频率以及索引的复杂程度。如果你疯狂地创建索引,那么每次插入/更新/删除记录,每个索引都必须被修改以反映这些信息。

如果你只创建了三个相对简单的索引,那么就不应该有问题。

0
0 Comments

就我个人而言,我会推荐这种方法。

尝试使用覆盖了所有内容的单个索引方法。如果我没记错的话,即使你只在包含的列中查询第一个,它仍然会表现良好。一旦你制定了索引,请运行索引顾问。

然后尝试另一种方法并重复此步骤。

这实际上取决于你的数据。

我通常只需要一个覆盖索引,首先从最常用的关键字开始。

0