Jeder Vorteil, um explizit lokale temporäre Tabellen am Ende einer gespeicherten Prozedur zu löschen?

Betrachten Sie den folgenden Psuedo-T-SQL-Code (durchgeführt durch eine gespeicherte Prozedur):

CREATE TABLE #localTable ... <do something with the temporary table here> DROP TABLE #localTable; 

Die DROP TABLE statement ist die letzte statement, die vom gespeicherten Proceudre ausgeführt wird – gibt es einen Vorteil für diese Aussage?

Beachten Sie, dass ich nicht darum bin, temporäre Tabellen (lokal oder nicht) in der Mitte der gespeicherten Prozedur zu löschen (dh nachdem die Tabellen nicht mehr benötigt werden, aber vor dem Ende des gespeicherten Prozedurcodes) – das könnte scheinbar wichtige Vorteile haben aufgrund des Verringerns des memorys, der erforderlich ist, um die Ausführung der gespeicherten Prozedur fortzusetzen. Ich möchte wissen, ob es irgendwelche Vorteile (oder irgendeine Wirkung, wirklich, positiv oder negativ) gibt, um explizit die Tabelle zu vreplace, um 'letting' SQL server zu tun, wenn die gespeicherte Prozedur beendet ausgeführt wird.

   

Wird es nicht weh tun, aber der Tisch wird fallen gelassen, wenn die Verbindung gelöscht wird. Ich persönlich denke, es ist eine gute Angewohnheit, hineinzukommen. Es läßt auch Entwickler, die vielleicht daran arbeiten müssen, dass du es nicht einfach vergessen hast, es zu tun.

Theres eine gute detaillierte Post auf diesem hier .

Das temporäre object wird in ein internes Formular umbenannt, wenn DROP TABLE ausgeführt wird, und umbenannt auf denselben benutzer sichtbaren Namen, wenn CREATE TABLE bei der nächsten Ausführung angetroffen wird. Darüber hinaus werden alle Statistiken, die automatisch auf der temporären Tabelle erstellt wurden, ebenfalls zwischengespeichert. Dies bedeutet, dass Statistiken von einer vorherigen Ausführung verbleiben, wenn die Prozedur als nächstes aufgerufen wird.

Dropping Temp Tisch ist eine gute Gewohnheit sonst, die Platz in TEMP DB nach unserem Betrieb verbrauchen.

Das wird Raumausgabe verursachen. Dies wird nur gelöscht, nur Sie schrumpfen TEMP DB oder starten Sie den server neu.