红魔咖啡馆

头发越掉越多,头发越掉越少

0%

【MySQL】存储引擎

MySQL体系结构

存储引擎

存储引擎是存储数据、建立索引、更新/查询数据等的实现方式,它是基于表的,也称表类型

MySQL中默认引擎为InnoDB

  • 创建表时指定存储引擎:CREATE TABLE name(...) ENGINE 引擎名

InnoDB

InnoDB是兼顾高可靠性和高性能的通用存储引擎

特点:

  • 支持事务,遵循ACID模型
  • 行级锁
  • 支持外键

磁盘文件:xxx.idb,每张表都对应一个文件,存储表结构、数据和索引

可以在cmd使用ibd2sdi xxx.idb查看sdi内容

逻辑存储结构:

MyISAM

MySQL早期存储引擎

特点:

  • 不支持事务、外键
  • 支持表锁,不支持行锁
  • 访问速度快

磁盘文件:xxx.sdi存储表结构信息,xxx.MYD存储数据,xxx.MYI存储索引

若应用以读或插入操作为主,只有很少更新和删除操作,并且对事务和并发不高,可以选择这个

Memory

Memory存放在内存中,因此只能作为内存表或缓存

特点:

  • 内存存放,速度快
  • hash索引

磁盘文件:xxx.sdi存储表结构信息

适用于临时表或换成,缺陷是对大小有限制,且无法保障安全性