1、Innodb存储引擎
(1)支持事务
(2)行锁设计、支持非锁定读(即默认读不产生锁)、
(3)从5.5.8 版本、InnoDB存储引擎是默认存储引擎
(4)innodb将数据放在逻辑表空间进行管理、4.1版本后,也将每个innodb存储引擎的表单独存放为一个idb文件
(5)Innodb 使用多版本并发控制(MVCC)来获得高并发性,并实现四种隔离级别
(6)Innodb采用聚集方式存储数据、按主键顺序存放数据、若定义表时没有指定主键、会默认生成一个rowid作为主键
(7)Innodb存储引擎是最常用的存储引擎
2、MyISAM存储引擎
(1)不支持事务、锁设计
(2)支持全文索引
(3)5.5.8之前,默认存储引擎是MyISAM
(4)缓存池只缓存索引文件、不缓存数据文件
(5)MyISAM 存储表存放为MYD文件和MYI文件
(6)myisampack可用于压缩和解压myisam存储表文件、压缩后的文件只读
(7)从5.0版本之后,MyISAM默认支持单表256T的存储量
3、其他索引
NDB 、Memory 、Archive 、Federrated 、Maria 等
4、常见问题
(1)Mysql数据库知否支持全文索引
MyIsam 和 InnoDB 都支持
(2)Mysql 当表数据量超过1000万时,性能线性下降?
首先mysql是数据库、当数据量大,肯定对数据有影响、但不是线性的、通过优化配置、再多的数据量Mysql也能抗住、官方实验,单表数据量达1T、使用InnoDB存储引擎、仍能达到800次每秒的插入、更新速度