INNODB,是Mysql5.7的默认存储引擎,是事务安全的,支持ACID,具有提交,回滚和crash-recovery【灾备】能力,以保护用户数据。
优势:一旦Server崩溃,Innodb会自动保存已提交的数据,undo未被提交的事务;不会产生业务上的影响。
Innodb buffer pool 会缓存被访问的数据,可加速数据处理。
将关联数据拆分到多个表,需建立外键【foreign key】以确保数据完整性。
为表建立适当的主键【primary key】,这样在引用主键时where ,order by ,group by ,join 会很快。
在 insert,update ,delete 时自动使用change buffering机制,缓存已更改数据。
Adaptive Hash Index 风格会加快耗时的重复数据查询。
压缩表和相关index.
可以较小的影响【性能和可用性】来创建和删除index.
使用DYNAMIC row format,对于BLOB和长文本类型的处理更高效。
可以通过查询 INFORMATION_SCHEMA中表来监控存储引擎的内部工作情况。
通过查询performance_schema中表来监控存储引擎的详细性能信息。
For InnoDB
-specific tuning techniques you can apply in your application code, see Section 9.5, “Optimizing for InnoDB Tables”.
Innodb 现可以使用FULLTEXT索引执行全文检索;
Innodb 现在具有更出色的读表现。
布置于只读媒介上的程序现可以使用Innodb表。
InnoDB 是多版本控制存储引擎,将被改变行的旧版本信息存储于表空间的rollback segment 区域中。Innodb可使用该区域的信息执行undo操作【在事务回滚时】;也使用该信息构建譔行的早期版本数据。