遇到一个我正在构建用作报表目的临时表的MySQL表的有趣问题。

我发现,如果未指定存储引擎,则DROP TEMPORARY TABLE命令将挂起最多半秒钟。

如果我将表定义为ENGINE = MEMORY,则此短时间挂起将消失。

当我有一个解决此问题的方法(使用MEMORY表)时,我的问题是为什么一个临时表要花很长时间删除?他们默认不使用MEMORY引擎吗?它甚至不是一个很大的表,包含我的当前测试数据的几百行。

最佳答案

默认情况下,临时表将在mysql配置告诉它的地方创建,通常是/tmp或磁盘上的其他地方。您可以将此位置(甚至多个位置)设置为RAM磁盘位置,例如/dev/shm。

希望这可以帮助!

关于mysql - 慢速下降临时表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6199909/

10-15 07:55