进入一个有趣的问题,我正在构建一个MySQL表作为临时表用于报告目的.
我发现如果我没有指定存储引擎,DROP TEMPORARY TABLE命令将挂起最多半秒.
如果我将我的表定义为ENGINE = MEMORY,那么这个短暂的挂起就会消失.
由于我有一个解决这个问题的方法(使用MEMORY表),我的问题是为什么临时表需要很长时间才能删除?默认情况下他们不使用MEMORY引擎吗?它甚至不是一个非常大的表,我的当前测试数据有几百行.
最佳答案
默认情况下,临时表将在MysqL配置告诉它的位置创建,通常是/ tmp或磁盘上的其他位置.您可以将此位置(甚至多个位置)设置为RAM磁盘位置,例如/ dev / shm.
希望这可以帮助!