Удаляются ли индексы во временных таблицах при удалении таблицы? - PullRequest
20 голосов
/ 18 сентября 2008

Будет ли следующий SQL удалять также индекс - или он должен быть удален отдельно?

CREATE TABLE #Tbl (field int)

CREATE NONCLUSTERED INDEX idx ON #Tbl (field)

DROP TABLE #Tbl

Ответы [ 3 ]

22 голосов
/ 18 сентября 2008

Да, они есть. Вы можете найти в справке MSSQL статью CREATE INDEX, там сказано:

"Индексы могут быть созданы на временной Таблица. Когда стол упал или сеанс заканчивается, все индексы и триггеры сброшены. "

6 голосов
/ 18 сентября 2008

Он будет удален автоматически, так как ничего не осталось для индексации. В этом отношении воспринимайте это как дочерний объект.

2 голосов
/ 18 сентября 2008

Таблица удаления удалит индекс. Drop Index принимает имя индекса и имя таблицы.

В этом случае будет DROP INDEX idc ON # tbl

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

...