MySQL存储引擎
MySQL存储引擎包括:MyISAM引擎,MyISAM Merge引擎,InnoDB引擎,Memory引擎,NDB引擎,Archive引擎,CSV引擎,Federated引擎,Blackhle引擎,NDB Cluster引擎,Falcon引擎,SolidDB引擎,PBXT引擎,Maria引擎和其它引擎。建表时,选择合适的存储引擎很重要,如果到后期再更换将会很麻烦。这里,我们只介绍常用的三种存储引擎:存储引擎是基于表的,而非数据库。
事务:
完成一个功能的时候需要对数据库进行多次的操作 ,要么全部成功 要么全部不成功 下单的
MyISAM引擎
MyISAM不支持事务, MyISAM引擎速度很快,性能优秀。
MyISAM是Mysql的默认存储引擎。当create创建新表时,未指定新表的存储引擎时,默认使用MyISAM。每个MyISAM在磁盘上存储成三个文件。文件名都和表名相同,扩展名分别是.frm(存储表定义)、.MYD (MYData,存储数据)、.MYI (MYIndex,存储索引)。数据文件和索引文件可以放置在不同的目录,平均分布io,获得更快的速度。
表上锁
上锁
InnoDB引擎
InnoDB引擎是MySQL默认的存储引擎,是专为事务设计的存储引擎,支持事务,拥有高并发处理能力。但是,InnoDB在创建索引和加载数据时,比MyISAM慢。
InnoDB存储引擎用于事务处理应用程序,具有众多特性,包括ACID事务支持,提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比MyISAM存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。
Memory引擎
内存表,Memory引擎将数据存储在内存中,表结构不是存储在内存中的,查询时不需要执行磁盘I/O操作,所以要比MyISAM和InnoDB快很多倍,但是数据库断电或是重启后,表中的数据将会丢失,表结构不会丢失.
Memory使用哈希索引(哈希算法),所以数据的存取速度非常快。Key—value