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 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设置一个合理值。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。