Временная таблица с PK и идентичностью создает кластерный индекс внутри сервера SQL. Или мы должны создать явно - PullRequest
0 голосов
/ 08 мая 2019

Временная таблица с PK и идентичностью создает кластерный индекс внутри сервера SQL.Или мы должны создать явно?

Я работал над оптимизацией SP и наткнулся на одну статью, в которой говорится, что таблица #Temp с объемными данными может иметь временную базу данных из-за проблемы с памятью.я уменьшил размер #Table до нескольких обязательных столбцов, в которых хранятся только столбцы типа int.Теперь, рассматривая операцию сортировки, для реальной таблицы есть некоторое преимущество PK и Clusterd Index.поэтому мне было любопытно, #table использует те же возможности SQL.

1 Ответ

1 голос
/ 08 мая 2019

IDENTITY является чисто свойством столбца, как NOT NULL. Это не CLUSTERED и не PRIMARY KEY, если вы не скажете SQL Server так.

CREATE TABLE T (ID int IDENTITY); не будет создавать индекс для столбца ID и не будет индексироваться.

Единственный способ создать CLUSTERED INDEX для столбца IDENTITY - использовать synnax для объявления его в качестве вашего CLUSTERED PRIMARY KEY при создании, изменив таблицу, добавив столбец IDENTITY в качестве CLUSTERED PRIMARY KEY или создание CLUSTERED INDEX в столбце (поскольку ваш первичный ключ и кластеризованный индекс не обязательно должны совпадать).

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