Создает ли индекс уникальный столбец временной таблицы? - PullRequest
4 голосов
/ 23 марта 2010

У меня есть временная таблица, которую я использую, и у меня есть уникальный столбец, например: myID INT UNIQUE

Это создаст индекс для этого столбца? Или я должен явно создать индекс?

Ответы [ 2 ]

5 голосов
/ 23 марта 2010

Да, сервер SQL будет автоматически создавать индекс для каждого дополнительного уникального ограничения.

http://msdn.microsoft.com/en-us/library/ms177420.aspx

"Компонент Database Engine автоматически создает индекс UNIQUE для обеспечения требования уникальности ограничения UNIQUE .... Если кластерный индекс не указан явно, по умолчанию создается уникальный некластеризованный индекс для применения ограничения UNIQUE."

Это верно для временных таблиц, которые я только что проверил тестированием.

3 голосов
/ 23 марта 2010

Да, это так - смотрите эту статью здесь :

УНИКАЛЬНЫЕ Ограничения против УНИКАЛЬНЫХ индексов
Многие администраторы баз данных спрашивают о разница между УНИКАЛЬНЫМ ограничение и УНИКАЛЬНЫЙ индекс. В то время как вы можете использовать другой Transact-SQL команды для их создания (ALTER TABLE… ADD CONSTRAINT для ограничений и СОЗДАТЬ УНИКАЛЬНЫЙ ИНДЕКС для индексов), они имеют тот же эффект, для большая часть. На самом деле, когда вы создаете УНИКАЛЬНОЕ ограничение, оно фактически создает УНИКАЛЬНЫЙ указатель на таблицу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...