日期:2014-05-16  浏览次数:20726 次

mysql 的 memory 引擎介绍

Mysql 数据库 memory引擎简介

?

使用场景:需要高速的动态的查询数据库,相比于memcached它的动态性更强。

?

如何查看自己当前的数据库的引擎。

mysql> show engines

结果在附件中.

?

? HEAP简介:(heap 其实就是memory引擎。)

HEAP允许只驻留在内存里的临时表格。驻留在内存里让HEAP要比MYISAM快,但是它所管理的数据是不稳定的,而且如果在关机之前没有进行保存,那么所有的数据都会丢失。在数据行被删除的时候,HEAP也不会浪费大量的空间。HEAP表格在你需要使用SELECT表达式来选择和操控数据的时候非常有用。

??????????????????

特性:

???????? 1.2 MEMORY引擎的存储特性

MEMORY引擎的数据及索引数据都存储于内存中,为此文件系统只会有一个单独的表定义文件,例如: MEMMORY引擎的表:t_memory,在数据库目录下只有:t_memory.frm文件,正是由于其所有数据都存储于内存中,除表定义信息有对应的实体文件存储于磁盘上外,只要mysqld服务不存在,则表中的数据全部丢失。

  对MEMORY引擎表做DELETE删除数据的操作,并不是真正删除,而是标记为删除状态,只有新记录INSERT且写入同一张表才可重用,另外重建、重置、删除表、mysqld服务重启,才会释放掉被删除数据所占的内存。

  1.3 数据类型的支持

  1>.BLOBTEXT及二者的变种外,其他类型都支持;

  2>.采用固定长度字段类型,即VARCHAR(50) 等同于CHAR(50);