2013-03-05 5 views
3

У меня есть таблица, в которой будет запущено 3 разных запроса.Добавление нескольких индексов в одной таблице для разных запросов

  • Первый запрос имеет, где положение, которое использует два из колонн
  • Вторые три из колонн
  • Третьи четыре из колонн

При запуске каждого запроса через Предполагаемый план выполнения и SQL Server Management Studio предлагает добавить новый новый индекс для каждого запроса.

Я рад добавить три разных индекса для максимальной производительности. Таблица никогда не обновляется и редко вставляется.

Однако рекомендуется добавить несколько индексов в одну и ту же таблицу для размещения другого запроса.

+1

Если стол достаточно велик, чтобы почувствовать разницу и использовать достаточно часто - почему бы и нет? –

ответ

1

Если вы знаете запросы достаточно хорошо, добавьте индексы.

Индексы в основном добавляют служебные данные при изменении данных (вставка/обновление/удаление). Они также несут дополнительные накладные расходы, также занимая память в кеше страниц. Это сокращается двумя способами. Иногда сам индекс может полностью заменить таблицу. Иногда и то и другое необходимо, в зависимости от запроса и индексов.

Существует мало недостатков, если данные не меняются, и потенциал потенциального роста. Поскольку SQL Server рекомендует индексы, вы можете быть уверены, что они будут использоваться и должны увеличить производительность запроса.

Смежные вопросы