InnoDB存储引擎
mysql默认事务性引擎。
支持事务
由于InnoDB性能及奔溃自动恢复特性,在其他非事务性存储需求也很流行。除非有别的原因需要其它存储引擎,否则应优先考虑InnoDB存储引擎。
InnoDB的数据存储在表空间中,
InnoDB采用MVCC来支持高并发,并且实现了四个标准的隔离级别。其默认级别是REPEATABLE READ(可重复度)。并且通过间隙锁(next-key locking)策略防止幻度的出现。
间隙锁(next-key locking)使得InnoDB不仅仅锁定查询所涉及的行,还会对索引的间隙进行锁定,以防止幻影行的插入。
- InnoDB是基于聚簇索引建立的
聚簇索引对主键的查询有很高的性能
它的二级索引(secondary index,非主键索引)中必须包含主键列,所以如果它的主键列很大的话,其他索引都会很大。因此,若表上索引多的话,主键应当尽可能的小。