innoDB

  • innoDB是MySQL的默认事务型引擎,用来处理大量短期事务。innoDB的性能和自动崩溃恢复特性使得它在非事务存储需求中也很流行,除非有特别原因否则应该优先考虑InnoDB。
  • innoDB的数据存储在表空间,表空间由一系列数据文件组成。MySQL4.1以后innoDB可以将每个表的数据和索引放在单独的文件中。
  • InnoDB采用MVCC来支持高并发,并且实现了4个标准的隔离级别。默认级别是repeatable read,并通过间隙锁策略防止幻读,间隙锁使InnoDB不仅仅锁定查询涉及的行,还会对索引中的间隙进行锁定防止幻行的插入。
  • InnoDB表是基于聚簇索引建立的,InnoDB的索引结构和其他存储引擎有很大不同,聚簇索引对主键查询有很高的性能,不过它的二级索引中必须包含主键列,所以如果主键很大的话其他索引都会很大,因此如果表上索引较多的话主键应尽可能小。
  • InnoDB可以将数据和索引文件从一个平台复制到另一个平台。内部innoDB做了很多优化,包括从磁盘读取数据时采用的可预测性预读,能够自动在内存中创建加速读操作的自适应哈希索引,以及能加速插入操作的插入缓冲区等。
欢迎批评指正,提出问题,谢谢!
原文地址:https://www.cnblogs.com/xxeleanor/p/14979533.html