作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我对 MySQL 很陌生。我的问题可能有问题,如果是,请更正或解释。
我刚刚通过在 Google 上搜索定义了解了堆表和临时表。它们之间的确切区别是什么以及两者的实时用途是什么?
根据我的知识或阅读过的内容:
堆表:内存中存在的表称为堆表。在 MySql 中创建 HEAP 表时,用户需要将 TYPE 指定为 HEAP。这些表现在更普遍地称为内存表。这些内存表从来没有像“BLOB”或“TEXT”这样的数据类型的值。他们使用使他们更快的索引。
临时表:临时表在某些情况下对于保存临时数据非常有用。临时表是当当前客户端 session 终止时它们将被删除。
最佳答案
正如您自己所说,临时表仅在 session 期间有效,而堆表存在于内存中。因此,如果不重启数据库,堆表可以存在很长时间。
一旦您的 session 断开连接,临时表将被删除。
临时表不在客户端之间共享,堆表是共享的。因此对于每个连接,临时表都是唯一的,对于第二个连接,另一个连接的临时表是不存在的。
对于临时表,您需要特殊权限(创建临时表),而堆表只是另一个存储引擎。
关于mysql - MySQL中堆表和临时表的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18073839/
我是一名优秀的程序员,十分优秀!