删除表时,临时表上的索引是否被删除?

时间:2020-03-06 14:20:56  来源:igfitidea点击:

以下SQL是否还会删除索引,还是必须将其单独删除?

CREATE TABLE #Tbl (field int)

CREATE NONCLUSTERED INDEX idx ON #Tbl (field)

DROP TABLE #Tbl

解决方案

由于没有要索引的内容,它将被自动删除。在这方面,将其视为子对象。

对,他们是。我们可以在MSSQL帮助中搜索有关在那里出现的CREATE INDEX文章:

"Indexes can be created on a temporary
  table. When the table is dropped or
  the session ends, all indexes and
  triggers are dropped."

删除表将删除索引。 Drop Index具有索引名称和表名称。

在这种情况下,将DROP INDEX idc ON #tbl

如果要删除索引但离开表,可以调用该方法。