目前,我们有一个用于跟踪邀请的表。我们有一个已编入索引的电子邮件字段,但我们还有三个可选键,用户可以在添加新记录电子邮件时指定它们。我们不允许重复,因此我们必须查询电子邮件和可选键是否已经存在。目前,如果指定了键,则仅将键添加到 select 语句中。正常情况是仅指定电子邮件并使用索引它工作得相当快。添加键时性能下降。
添加三个索引会影响其他操作的性能吗?密钥可能很少使用,我们不想影响这种情况下的性能。
- 电子邮件,key1
- 电子邮件,key1,key2
- 电子邮件,key1,key2,key3
另一个想法是我们添加 1 个密钥。
- 电子邮件,key1,key2,key3
然后始终在查找中使用所有 3 个键(例如 key1 = mykey AND key2 为 NULL AND key3 为 NULL)
也可以看看