是否需要在mysql中删除临时表?

是否需要在mysql中删除临时表?,mysql,Mysql,我在放下一张临时桌子时遇到了问题。用户帐户没有“删除”权限。由于安全原因,我不想授予这种特权。我试图找到像“临时放弃”这样的特权,但没有。似乎唯一的选择是删除所有的“drop table”语句。我知道临时表将在DB会话结束后自动删除。然而,我不确定把这个工作留给MySQL是否有任何副作用。请注意。一旦您断开与数据库的连接,就会自动删除临时表 临时表仅对当前连接可见,并在连接关闭时自动删除 所以-创建它们,使用它们,不必费心删除它们它将使用当前机器的Ram空间。 因此,更好的办法是在下一步删除临

我在放下一张临时桌子时遇到了问题。用户帐户没有“删除”权限。由于安全原因,我不想授予这种特权。我试图找到像“临时放弃”这样的特权,但没有。似乎唯一的选择是删除所有的“drop table”语句。我知道临时表将在DB会话结束后自动删除。然而,我不确定把这个工作留给MySQL是否有任何副作用。请注意。

一旦您断开与数据库的连接,就会自动删除临时表

临时表仅对当前连接可见,并在连接关闭时自动删除


所以-创建它们,使用它们,不必费心删除它们

它将使用当前机器的Ram空间。
因此,更好的办法是在下一步删除临时表,一旦临时表的使用结束

如果用户拥有创建临时表权限,他可以执行删除表、插入、更新和选择


请参阅:

如本文所述,要将临时表和非临时表的权限分开,这种情况的常见解决方法是创建一个专用于临时表使用的数据库。然后,对于该数据库,可以授予用户“创建临时表”权限,以及该用户执行临时表操作所需的任何其他权限。如果使用连接池(hikari、c3p0等),则连接的打开时间可能会比预期的长,因此请小心。在这种情况下,手动删除临时表可能是有意义的。@Alden正确配置软件以使一切按预期工作是有意义的。连接池必须在客户端断开连接时重置连接。