引擎是电子信息平台上开发程序或系统的核心组件。利用引擎 开发者开以建立 铺设所需的功能,或利用其辅助程序运转。一般而言,引擎是一个程序或一套系统的支持部分。 常见的引擎有所搜引擎  游戏引擎。

存储引擎是指表的类型及表在计算机上的存储方式。

一、InnoDB存储引擎

InnoDB给Mysql的表提供了事务处理  回滚  崩溃恢复能力和多版本并发控制的事务安全。InnoDB是MySQL上第一个提供外键约束的引擎。

InnoDB存储结构支持 AYTO_INCREMENT  自动增长的值不能为空,并且值必须唯一。

InnoDB还支持外键   外键所在的表为子表,外键所依赖的表是父表。父表中被子表外键所关联的字段必须为主键。当删除  更新父表中的信息时,子表也必须有相应的改变。这是数据库的参照完整性约束。

InnoDB,创建表的结构存储在.frm中。

InnoDB的优势在于提供良好的事务处理、崩溃恢复能力和并发控制。缺点是效率较差,占用的数据空间相对较大。

二、MyISAM存储引擎

MyISAM是MySQL中最常见的存储引擎,曾经是MySQL的默认引擎。

MyISAM的表存储成三个文件。文件的名字与表名相同。拓展名为frm、MYD、MYI。其实,frm文件存储表的结构;MYD存储数据。

MuISAM的优势在于占用空间小,处理速度快。缺点是不支持事务的完整性和并发性。

三、MEMORY存储引擎

MEMORY是MuSQL中一类特殊的存储引擎。它使用存储在内容中的数据来创建表,而且数据全部放在内存中

MEMORY默认使用哈希索引。速度比使用B型树索引快。当然如果你想用B型树索引,可以在创建时指定。

mysql内存结构图 mysql 内存引擎_mysql内存结构图

InnoDB 支持事务处理  支持外键  支持并发控制和恢复能力。如果需要对事务的完整性要求比较高,要求实现并发控制,选择InnoDB会有很大的优势。

MyISAM  插入数据快  内存使用低  如果主要用于插入新记录和读出记录,选择MyISAM能实现处理高效率。

MEMORY  数据都在内存中,数据处理速度快,但安全性不高。如果要求很快的读写速度,对数据的安全性要求比较低,可以选用MEMORY。