考虑以下伪T-SQL代码(由存储过程执行):
CREATE TABLE #localTable ... <do something with the temporary table here> DROP TABLE #localTable;
该DROP TABLE语句是存储过程执行的最后一条语句-该语句有什么好处吗?
DROP TABLE
请注意,我并不是要在存储过程 中间 删除临时表(无论是否是本地表)(即在不再需要表之后,但在存储过程代码结束之前)-似乎很重要好处是减少了继续执行存储过程所需的内存。我想知道在存储过程完成执行时,显式删除表与“删除” SQL Server相比是否有任何好处(或实际上是正面 还是 负面的影响)。
这样做没有什么坏处,但是当连接断开时,表也将被断开。我个人认为这是个好习惯。它还使开发人员(您可能不得不进行此工作)不会让您简单地忘记这样做。