В настоящее время у нас есть таблица, которую мы используем для отслеживания инициаций. У нас есть поле электронной почты, которое проиндексировано, но у нас также есть три дополнительных ключа, которые пользователь может указать при добавлении новых записей электронной почты. Мы не разрешаем дубликаты, поэтому нам нужно запросить, существует ли уже электронная почта и дополнительные ключи. В настоящее время ключи добавляются в оператор выбора, только если они указаны. В обычном случае указывается только электронная почта, и с помощью индекса она работает довольно быстро. Когда ключи добавлены, производительность падает.
Повлияет ли добавление трех индексов на производительность для других операций? Ключи, вероятно, используются нечасто, поэтому мы не хотим влиять на производительность в этом случае.
- электронная почта, ключ1
- электронная почта, ключ1, ключ2
- электронная почта, ключ1, ключ2, ключ3
Другая идея состоит в том, что мы добавляем 1 ключ.
- электронная почта, ключ1, ключ2, ключ3
Затем всегда используйте все 3 ключа в поиске (например, key1 = mykey AND key2 - NULL, а key3 - NULL)
См. Также
Точная копия сообщения