mysql存储引擎

本文深入探讨了MySQL中最常用的两种存储引擎:InnoDB和MyISAM。详细介绍了它们的工作原理、优势及适用场景,帮助开发者根据实际需求选择合适的存储引擎。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值