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