Mysql MEMORY 引擎
时间:2022-03-14 03:39
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 HASH 10 ) 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设置一个合理值。