天天看点

InnoDB存储引擎MySQL引擎之Innodb存储引擎

MySQL引擎之Innodb存储引擎

InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),它是MYSQL版本5.5之后的默认存储引擎

Innodb使用表空间进行数据存储

查看表空间:

展示结果:

InnoDB存储引擎MySQL引擎之Innodb存储引擎

Value值:

ON:独立表空间,tablename.ibd

OFF:系统表空间,ibdataX ,X是一个数字

系统表空间和独立表空间如何选择?

  • 系统表空间会产生IO瓶颈,刷新数据的时候是顺序进行的所以会产生文件的IO瓶颈
  • 独立表空间可以同时向多个文件刷新数据

Innodb存储引擎的特性

  • 支持事务的ACID特性
  • Innodb支持行级锁,可以最大程度的支持并发

MyISAM和InnoDB对比

对比项 MyISAM InnoDB
主外键 不支持 支持
事务 不支持 支持
行表锁 表锁,即使操作一条记录也会锁住整个表,不适合高并发的操作 行锁,操作时只锁住某一行,不对其他行有影响,适合高并发的操作
缓存 只缓存索引,不缓存真实数据 不仅缓存索引,还缓存真实数据,对内存要求较高,而且内存大小对性能有决定性的影响
表空间
关注点 性能 事务
默认安装 Y Y