mysql数据库的MEMORY引擎简单测试

存储在内存中,默认使用哈希索引(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表不像临时表,它是可以被客户端共享的。

原文地址:https://www.cnblogs.com/kgdxpr/p/3079132.html