MySQL 的存储引擎(基本介绍)


前言

好文章不要错过,前两天跟大家分享的文章

1.MySQL的基础架构
2.SQL语句的执行流程

今天跟大家讲一讲 MySQL 的存储引擎。


MySQL 的存储引擎介绍

存储引擎是什么?

答:存储引擎是MySQL 用于存储数据的,数据的读写,更新都将在存储引擎执行。

存储引擎的特性?

答:存储引擎是插件式存储引擎,常见的存储引擎有 Innodb,MyLSAM,Memory等,MySQL之前默认的存储引擎是 MyLsam,但是在MySQL 5.5.5以后默认的存储引擎是 Innodb。一开始Innodb是第三方的存储引擎,但是实在太优秀了,就被oracle收购… 这难道就是钞能力???

那么,Innodb 到底优秀在哪里呢?下面我们来说一说。

Innodb 与 Mylsam 的区别

行级锁与表级锁

Innodb 是基于行级锁的存储引擎,MyLsam 是基于表级锁的存储引擎。试想一下在更新数据库是锁住整个表执行,与基于行级锁,锁住一条数据执行。这性能差别是十分之大的。

是否支持事务

Innodb 是支持事务的,这也是它区别与其他存储引擎一个重要的原因,四种事务的隔离级别,它默认是可重复读,解决不可重复读与脏读的事务级别。

Mylsam 是不支持事务的。

是否支持恢复数据

如果 MySQL 崩溃,Innodb 基于它自带的日志模块 redo log,是可以支持恢复以往的数据的,恢复速度快。

Mylsam 是恢复数据的话相比于 Innodb 恢复极慢。

是否支持外键

Innodb 是支持外键的,虽然根据阿里的Java开发手册,是不允许使用外键的。

Mylsam 是不支持外键的。

是否使用外键,还是要根据具体的项目的业务开发。使用外键不会导致业务数据的混乱,但是会有一定的约束。

是否支持 MVCC

Innodb 支持 MVCC,MVCC 是多版本控制工具,是行级锁的深入的实现。

Mylsam 不支持。


总结

总的来说,存储引擎是MySQL 用于存储读写数据的。常用的存储引擎有 Innodb, MyLSAM,Memory等。其中 Innodb 的性能最快。也是 MySQL 5.5.5 之后默认的存储引擎。

有启发点个赞 🌹

预计下篇分享:MySQL 索引入门

本篇参考:JavaGuide

我是小辉,正在进行 Java 实习的 24 届应届毕业生。欢迎关注,持续分享,包括但不限于技术文章。全网同名…

相关推荐

  1. MySQL 存储引擎基本介绍

    2024-02-21 11:14:02       31 阅读
  2. 介绍一下MySQL存储引擎及其特点

    2024-02-21 11:14:02       30 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-21 11:14:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-21 11:14:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-21 11:14:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-21 11:14:02       20 阅读

热门阅读

  1. 数据权限设计思考

    2024-02-21 11:14:02       30 阅读
  2. .net 微服务 服务保护 自动重试 Polly

    2024-02-21 11:14:02       27 阅读
  3. C++ 中的单例模式singleton

    2024-02-21 11:14:02       28 阅读
  4. 设计模式----单例模式

    2024-02-21 11:14:02       24 阅读
  5. 指定截至频率的低通滤波器设计

    2024-02-21 11:14:02       26 阅读
  6. 小程序缓存封装 storage

    2024-02-21 11:14:02       31 阅读
  7. k8s 基础理论

    2024-02-21 11:14:02       25 阅读