memory 存储引擎,通过名字就很容易让人知道,他是一个将数据存储在内存中的存储引擎。memory 存储引擎不会将任何数据存放到磁盘上,仅仅存放了一个表结构相关信息的.frm 文件在磁盘上面。所以一旦 mysql crash 或者主机 crash 之后,memory 的表就只剩下一个结构了。memory 表支持索引,并且同时支持 hash 和 b-tree 两种格式的索引。由于是存放在内存中,所以 memory 都是按照定长的空间来存储数据的,而且不支持 blob 和 text类型的字段。memory 存储引擎实现页级锁定。
既然所有数据都存放在内存中,那么他对内存的消耗量是可想而知的。在 MySQL 的用户手册上面有这样一个公式来j计算Memory 表实际需要消耗的内存大小:
SUM_OVER_ALL_BTREE_KEYS(max_Length_of_key + sizeof(char*) * 4)
+ SUM_OVER_ALL_HASH_KEYS(sizeof(char*) * 2)
+ ALIGN(length_of_row+1, sizeof(char*))
以上就是Mysql存储引擎之Memory存储引擎的介绍的内容,更多相关内容请关注PHP中文网(www.php.cn)!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END