首页 > 代码库 > Mysql MEMORY 引擎

Mysql MEMORY 引擎

 

 1 CREATE TABLE `m` ( 2   `int` int(10) unsigned NOT NULL AUTO_INCREMENT, 3   `name` varchar(10) NOT NULL, 4   `ctime` int(10) NOT NULL, 5   `ltime` int(10) NOT NULL, 6   PRIMARY KEY (`int`), 7   UNIQUE KEY `name` (`name`), 8   KEY `idx_ctime` (`ctime`) USING BTREE, 9   KEY `idx_ltime` (`ltime`) USING HASH10 ) ENGINE=MEMORY DEFAULT CHARSET=latin1

 

  • MEMORY 表引擎支持 BTREE/HASH 两种索引,但是不支持 TEXT/BOLB 两种类型的字段。
  • MEMORY 表引擎数据存放在内存当中,当数据库重启数据丢失,只有一个 .frm 文件来存放表结构。所以重启之后表结构还在。
  • MEMORY 表最大值受系统变量 max_heap_table_size 限制,默认为16MB,要改变MEMORY表大小限制,需要改变max_heap_table_size 的值。你也可以通过CREATE TABLE 的MAX_ROWS选项设置表的最大行数,但max_heap_table_size的优先级高于MAX_ROWS,当两者同时存在时为了最大兼容,你需要将max_heap_table_size设置一个合理值。

Mysql MEMORY 引擎