MySQL存储引擎之MyISAM与Innodb

一、MySQL常用存储引擎之MyISAM

1、MySQL5.5之前版本默认存储引擎

2、MyISAM是大部分系统表和临时表使用的存储引擎,这里的临时表是指在排序、分组等操作中,当数量超过一定的大小之后,由查询优化器建立的临时表

3、MyISAM存储引擎会将表存储在两个系统文件中,一个是数据文件,以MYD为扩展名;另一个是索引文件,以MYI为扩展名;myIsam.frm存储的是表的结构信息,myIsam.MYD存储的是数据信息,myIsam.MYI存储的是索引信息

4、特性

并发性与锁级别,读写需要对整个表加锁,读与写互斥

表损坏修复

check table tablename

rapair table tablename

MyISAM表支持的索引类型

MyISAM表支持数据压缩myisampack

二、MySQL常用存储引擎之Innodb

1、MySQL5.5及之后版本默认存储引擎

2、与MyISAM相比Innodb支持事物

3、Innodb使用表空间进行数据存储,具体存储在什么样的表空间中由innodb_file_per_table这个参数来决定,如果值为ON,则会为每个Innodb表建立一个以ibd为扩展名的系统文件;如果值为OFF,则会把数据存储到系统的共享表空间,也就是ibdataX中,其中X代表一个从1开始的数字

原文地址:https://www.cnblogs.com/yanguobin/p/12103349.html