В настоящее время у нас есть таблица, которую мы используем для отслеживания инициатив. У нас есть поле электронной почты, которое индексируется, но у нас также есть три необязательных ключа, которые пользователь может указать при добавлении новых электронных писем. Мы не разрешаем дубликаты, поэтому нам нужно запросить, существует ли почта плюс дополнительные ключи. В настоящее время ключи добавляются только в оператор select, если они указаны. В обычном случае указан только адрес электронной почты, и с помощью индекса он работает довольно быстро. Когда клавиши добавляются, производительность падает.Индивидуальные индексы против нескольких индексов полей
Может ли три показателя повлиять на производительность других операций? Ключи, вероятно, используются редко, что мы не хотим влиять на производительность для этого случая.
- электронная почта, key1
- электронная почта, key1, key2
- электронная почта, key1, key2, ключ3
Другая идея заключается в добавлении 1 ключ.
- электронная почта, key1, key2, ключ3
Тогда всегда использовать все 3 ключа в поиск (например. Key1 = MyKey И key2 является NULL AND ключ3 является NULL)
Смотрите также
Возможный дубликат [Несколько индексов и индексов нескольких столбцов] (http://stackoverflow.com/questions/179085/multiple-indexes-vs-multi-column-indexes) – 2012-06-12 00:19:16