欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql存储引擎

程序员文章站 2022-05-16 09:25:35
...

mysql存储引擎较常用的有两种,一种是InnoDB,另一种是MyISAM,接下来是围绕这两快分析。 一、InnoDB InnoDB是mysql的默认事务型引擎,也是最重要使用最广泛的存储引擎。 它的数据存储在表空间中,表空间是由InnoDB管理的一个黑盒子,由一系列的数据文件组成

mysql存储引擎较常用的有两种,一种是InnoDB,另一种是MyISAM,接下来是围绕这两快分析。


一、InnoDB

InnoDB是mysql的默认事务型引擎,也是最重要使用最广泛的存储引擎。

它的数据存储在表空间中,表空间是由InnoDB管理的一个黑盒子,由一系列的数据文件组成。InnoDB可以将每个表的数据和索引存放在单独的文件中。InnoDB也可以使用裸设备作为表空间的存储介质。

InnoDB采用MVCC来支持高并发,并且实现了四个标准的隔离级别。其默认级别是REPEATABLE READ(可重复读)



二、MyISAM


MyISAM提供了大量的特性,包括全文索引,压缩,空间函数(GIS)等,但MyISAM不支持事务和行级锁,而且有一个毫无疑问的缺陷就是崩溃后无法完全恢复。


对于只读的数据,或者表比较小,可以忍受修复操作,则依然可以继续使用MyISAM(但请不要默认使用MyISAM,而是应当默认使用InnoDB).


MyISAM会将表存储在两个文件中:数据文件和索引文件,分别以.MYD和.MYI为扩展名。MyISAM表可以包含动态或者静态行。MySQL会根据表的定义来决定采用何种格式。

MyISMA也支持全文索引,这是一种基于分词创建的索引,可以支持复杂的查询。




此博文来自51cto王新华博客