MyISAM、InnoDB、Heap(Memory)、NDB
貌似一般都是使用 InnoDB的,
mysql的存储引擎包括:MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDBCluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等,其中InnoDB和BDB提供事务安全表,其他存储引擎都是非事务安全表。
最常使用的2种存储引擎:
1.Myisam是Mysql的默认存储引擎,当create创建新表时,未指定新表的存储引擎时,默认使用Myisam。每个MyISAM在磁盘上存储成三个文件。文件名都和表名相同,扩展名分别是.frm(存储表定义)、.MYD(MYData,存储数据)、.MYI(MYIndex,存储索引)。数据文件和索引文件可以放置在不同的目录,平均分布io,获得更快的速度。
2.InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比Myisam的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。
MySQL数据库常见的引擎有 innodb 和myisam两种。采用不同的数据存储文件管理数据。myisam引擎:创建一张表对应三个文件:表名.frm 表名.MYD 表名.MYI。位于 “/var/lib/mysql/数据库名” 目录内,依次存放表的结构,表的数据和表的索引;
innodb引擎:建一张表对应两个文件:表名.frm 表名.ibd。位于 “/var/lib/mysql/数据库名” 目录内,依次表示表的结构,表的数据信息和索引信息。但较为特殊的是:所有的innodb引擎创建的表的数据统一存放在 /var/lib/mysql/ibdata1文件中。如果数据量很大,MySQL会自动的创建ibdata2,ibdata3,…,便于管理。MySQL数据库,缺省选用innodb引擎,来支持事务。
关于MySQL的学习,可以看5天入门MySQL学习视频,黑马程序员视频库就有哦!