MySQL存储引擎

介绍:

存储引擎是MySQL的核心组件,是存储数据、建立索引、更新/查询数据等技术的实现方式,存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。在创建表的时候,可以指定选择的存储引擎,如果没有指定将自动选择默认的存储引擎。MySQL 支持多种存储引擎,每种引擎都有其特定的功能和性能特点。

以下是 MySQL 常见的几种存储引擎:

  1. InnoDB:InnoDB 是 MySQL 5.5之后的默认存储引擎,支持事务安全和行级锁定,具有高并发性和稳定性,在高并发读写场景下表现优异,适合大型数据量和高并发环境。

  2. MyISAM:早期默认的存储引擎MyISAM 适合于只读或者读比写频繁的应用,不支持事务和外键,支持表锁不支持行锁,但是在插入和查询处理速度比 InnoDB 更快,占用空间较小。

  3. Memory:Memory 存储引擎是基于内存的,数据存储在 RAM 中,适用于一些临时表、缓存表等,可以快速地访问数据,但不支持持久性存储,也不支持事务。

  4. Archive:Archive 存储引擎适合于大数据分析和存储,它采用高压缩比的算法来存储数据,在 INSERT 和 SELECT 处理方面比 MyISAM 更高效。

  5. NDB:NDB 存储引擎(也称为 MySQL Cluster)是一个用于 MySQL 集群环境下的存储引擎,支持分布式计算和高可用性。

查询当前数据库支持的存储引擎:

show engines;

上图是8版本的MySQL支持的存储引擎类型,Comment是每种存储引擎的特性介绍。 

创建表时指定存储引擎:

create table user(
xxx,
xxx
) engine = MyISAM ;

常用的3种存储引擎区别:

 

InnoDB和MyISAM的区别:

1.事务支持

InnoDB 支持事务 ACID 属性,也就是 Atomicity、Consistency、Isolation 和 Durability,可以保证事务的完整性。而 MyISAM 不支持事务,因此对于事务处理要求高的应用场景,建议使用 InnoDB。

2.锁机制

InnoDB 的并发处理能力相对较强,支持行级锁,能够更好地支持高并发的读写操作。MyISAM 只支持表级锁,对于大量并发访问的情况可能会出现锁等待、死锁等问题。

3.外键约束

InnoDB 支持外键约束,可以保证数据的完整性和一致性。而 MyISAM 不支持外键约束。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值