考虑下面的psuedo T-SQL代码(由存储过程执行):
CREATE TABLE #localTable ...
<do something with the temporary table here>
DROP TABLE #localTable;DROP TABLE语句是存储过程执行的最后一条语句--该语句有什么好处吗?
请注意,我并不是要在存储过程中间(即不再需要这些表之后,但在存储过程代码结束之前)删除临时表(无论是本地表还是非临时表)-这似乎有重要的好处,因为减少了继续执行存储过程所需的内存。我想知道显式删除表与“让”SQL Server在存储过程完成执行时这样做是否有任何好处(或任何影响,实际上是积极的还是消极的)。
发布于 2011-01-13 00:04:32
这样做不会有什么坏处,但是当连接被删除时,表就会被删除。我个人认为这是一个很好的习惯。它也让开发人员,他们可能不得不在这方面工作,你不会简单地忘记去做它。
发布于 2014-01-08 17:40:02
删除临时表是一个好习惯,否则会在操作后消耗临时数据库中的空间。
这将导致空间问题。只有当您收缩临时数据库或重新启动服务器时,此选项才会清除。
https://stackoverflow.com/questions/4670924
复制相似问题