簡體   English   中英

在MySQL中存儲過程結束時刪除臨時表

[英]Dropping Temp Table At End Of Stored Procedure In MySQL

我是否需要添加DROP TEMPORARY TABLE IF EXISTS data; 在存儲過程結束時,即使我在頂部檢查? 是否存在性能影響?

CREATE DEFINER=`TEST`@`%` PROCEDURE `TEST`() BEGIN

    DROP TEMPORARY TABLE IF EXISTS data;

    CREATE TEMPORARY TABLE data AS 
...


END;

在MySQL中,關閉數據庫連接時會自動刪除臨時表。 如果您計划在存儲過程后打開連接,則臨時表將存在於磁盤上,直到該連接關閉為止。 性能影響取決於許多因素,例如您在服務器上配置臨時表存儲的方式,表中的數據量等。

一旦完成,只需刪除臨時表即被視為最佳實踐。 然后,您可以節省對這些潛在性能影響的擔憂

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM