【MySQL】存储引擎 —— MyISAM和Memory

一、MyISAM介绍

MyISAM是MySQL早期的默认存储引擎。


二、MyISAM特点

不支持事务,不支持外键

支持表锁,不支持行锁

访问速度快


三、MyISAM文件

xxx.sdi:存储表结构信息

xxx.MYD: 存储数据

xxx.MYI: 存储索引

image-20240718055844837

四、Memory介绍

Memory引擎的表数据时存储在内存中的,会由于受到硬件问题、或断电问题的影响,只能将这些表作为临时表或缓存使用。


五、Memory特点

内存存放(访问速度快)

支持hash索引(默认)


六、Memory文件

xxx.sdi:存储表结构信息

而数据都是存放在内存中的


七、区别及特点

特点InnoDBMyISAMMemory
存储限制64TB
事务安全支持--
锁机制行锁表锁表锁
B+tree 索引支持支持支持
Hash 索引--支持
全文索引支持(5.6 版本之后)支持-
空间使用N/A
内存使用中等
批量插入速度
支持外键支持--

InnoDB在官方介绍的时候也提到了这三大特点:事务、行级锁、外键

image-20240718065722673


面试题:InnoDB引擎与MyISAM引擎的区别 ?

①. InnoDB引擎, 支持事务, 而MyISAM不支持。

②. InnoDB引擎, 支持行锁和表锁, 而MyISAM仅支持表锁, 不支持行锁。

③. InnoDB引擎, 支持外键, 而MyISAM是不支持的。

主要是上述三点区别,当然也可以从索引结构、存储限制等方面,更加深入的回答,具体参考如下官方文档:

https://dev.mysql.com/doc/refman/8.0/en/innodb-introduction.html

https://dev.mysql.com/doc/refman/8.0/en/myisam-storage-engine.html

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值