Индексы (включая неявный индекс для первичного ключа) полезны для временной таблицы так же, как и для обычной таблицы. То есть, если они могут быть использованы в запросе, они будут. (На самом деле планировщик запросов может игнорировать индексы, и индексы только для небольших сканирований в значительной степени теряются.)
Однако из-за предупреждений о том, когда создаются планы запросов и т. Д., Это не так просто, как просто использовать create index
для временной таблицы позже. В статье в посте обсуждаются способы указания индексов в схеме таблицы с помощью неявных индексов, созданных благодаря использованию первичного ключа и UNIQUE - таким образом, он гарантирует, что планировщик запросов «видит» эту дополнительную информацию.
(Обратите внимание, что статья была написана в 2004 году; SQL Server 2008 может не иметь такой же проблемы. Я не знаю. В любом случае это [умный] прием для получения желаемых результатов.)
Отрицательные стороны индексов одинаковы - избыточное индексирование приводит к дополнительным затратам на создание / обслуживание индексов и может, в неоптимальных случаях, запутать планировщик запросов. Таким образом, создаваемые индексы должны основываться на шаблоне использования и поддерживаться с помощью тестов / анализа запросов.
Удачного кодирования.