存储在内存中,默认使用哈希索引(InnoDB为B树索引)。速度很快,但服务器关闭后数据全部丢失,仅保存.frm表定义文件。
在一万条数据的情况下,针对MyISAM和Memory粗略地进行测试,MyISAM全表扫描花了360ms,Memory则只需要10ms。
重启服务器后,memory表数据全部丢失,但是表仍然存在。
注意事项:
·不支持BLOB和TEXT类型
·使用固定长度行存储格式,因此varchar会被转换成char
·max_heap_table_size参数决定了Memory表的最大占用内存。
·删除Memory表的某几行并不会减少已经分配的内存空间,要想释放内存表占用的空间,需使用DELETE FROM或TRUNCATE,或者DROP TABLE
·Memory表不像临时表,它是可以被客户端共享的。