我对MySQL很陌生。我的问题可能是错误的,如果它是正确的或解释它。
我只是通过在谷歌上搜索定义来阅读堆表和临时表。
它们之间的确切区别是什么?它们的实时使用是什么?
根据我的知识或我所读到的:
堆表:内存中存在的表称为堆表。在MySQL中创建堆表时,用户需要将类型指定为堆。这些表现在通常称为内存表。这些内存表从来没有数据类型如“blob”或“text”的值。他们使用索引来加快速度。
临时表:临时表在某些情况下对于保存临时数据非常有用。临时表是当前客户端会话终止时将删除它们。

最佳答案

正如您所引用的,临时表仅在会话期间有效,而堆表存在于内存中。
因此,如果不重新启动数据库,堆表可能存在很长时间。
一旦您的会话断开,临时表将被删除。
临时表不在客户端之间共享,堆表是共享的。
因此,对于每个连接,临时表都是唯一的,对于第二个连接,另一个连接的临时表不存在。
对于临时表,您需要一个特殊的特权(创建临时表),而堆表只是另一个存储引擎。

关于mysql - MySQL中的堆表和临时表之间的区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18073839/

10-11 23:12
查看更多