gpt4 book ai didi

mysql - 在 MySQL 中的存储过程结束时删除临时表

转载 作者:IT王子 更新时间:2023-10-28 23:48:32 27 4
gpt4 key购买 nike

我是否需要在存储过程的末尾添加 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 中,关闭数据库连接时会自动删除临时表。如果您打算在存储过程之后保持连接打开,那么您的临时表将存在于磁盘上,直到该连接关闭。性能影响取决于许多因素,例如您如何在服务器上配置临时表存储、表中有多少数据等。

最好的做法是在完成临时表后立即删除它。然后你就不用担心这些潜在的性能影响了

关于mysql - 在 MySQL 中的存储过程结束时删除临时表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11835645/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com