介绍:
InnoDB存储引擎是Mysql的默认存储引擎。
InnoDB存储引擎提供了具有提交、回滚、崩溃恢复能力的事务安全。
但是对比MyISAM的存储引擎,InnoDB写的处理效率差一些,
并且会占用更多的磁盘空间以保留数据和索引。
事务控制:
介绍:一个最小的不可再分的单元;可以理解为一个事务对应的是一组完整的业务,并且在这个事务中所作的一切操作要么全部成功,要么全部失败,只要有一个操作没成功,整个事务都将回滚到事务开始前。
开启事务:start transaction;
提交事务:commit;
外键约束:
在创建外键的时候, 要求父表必须有对应的索引 ,
子表在创建外键的时候, 也会自动的创建对应的索引。
存储方式 :
InnoDB 存储表和索引有以下两种方式 :
①. 使用共享表空间存储, 这种方式创建的表的表结构保存在.frm文件中, 数据和索引保存在 innodb_data_home_dir 和 innodb_data_file_path定义的表空间中,可以是多个文件。
②. 使用多表空间存储, 这种方式创建的表的表结构仍然存在 .frm 文件中,但是每个表的数据和索引单独保存在 .ibd 中。
缺点:数据和索引存储到一起耦合性低,操作数据时IO并发比较大。