MySQL中的数据用各种不同的技术存储在文件(或者内存中)
每一种技术都是用不同的存储机制、索引技巧,锁定水平并且最终提供广泛的不同的功能和能力
通过选择不同的技术,能获得额外的速度或者功能,从而改善你的应用的整体功能
不同的存储引擎性能是不一样的
MYISAM
不支持事务,也不支持外键,访问速度快,对事务完整性没有要求的或者以SELECT、INSERT为主的应用都可以使用
每个MYISAM在磁盘上存储成3个文件,其中文件名和表名都相同,.frm(存储表定义)/MYD(MYDATA)/MYI(MYINDEX)
INNODB
具有提交、回滚和崩溃恢复能力的事务安全,对比MyISAM的存储引擎,InnoDB写的处理效率差一些,并且会占用更多磁盘空间以保留数据和索引(银行里面主要使用,这是默认的存储引擎)
MEMORY
使用内存中的内容来创建表,每个MEMORY表实际对应一个磁盘文件,格式是 .frm
访问非常快,默认使用HASH索引,但是服务器一旦关闭,表中的数据会丢失,表还在
在建表的时候 设置 engine = ‘Innodb’