Ken*_*itt 18 sql t-sql sql-server
考虑以下psuedo T-SQL代码(由存储过程执行):
CREATE TABLE #localTable ...
<do something with the temporary table here>
DROP TABLE #localTable;
Run Code Online (Sandbox Code Playgroud)
该DROP TABLE
声明是存储过程执行的最后一个声明 - 该声明是否有任何好处?
请注意,我不是要求在存储过程的中间(即在不再需要表之后,而是在存储过程代码结束之前)删除临时表(本地或非本地) - 这看起来似乎具有重要的好处由于减少了继续执行存储过程所需的内存.我想知道在存储过程完成执行时,显式删除表与"让"SQL Server这样做是否有任何好处(或任何影响,实际上,正面或负面).
这样做不会有害,但是当连接断开时表会被丢弃.我个人认为这是一个很好的习惯.它还允许开发人员(可能需要对此进行操作)不要忘记这样做.