当前位置:Gxlcms > mysql > mysql存储引擎

mysql存储引擎

时间:2021-07-01 10:21:17 帮助过:9人阅读

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王新华博客

人气教程排行