码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MySQL 的存储引擎(基本介绍)


    文章目录

    • 前言
    • MySQL 的存储引擎介绍
      • 存储引擎是什么?
      • 存储引擎的特性?
    • Innodb 与 MyIsam 的区别
      • 行级锁与表级锁
      • 是否支持事务
      • 是否支持恢复数据
      • 是否支持外键
      • 是否支持 MVCC
    • 总结


    前言

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


    MySQL 的存储引擎介绍

    存储引擎是什么?

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

    存储引擎的特性?

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

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

    Innodb 与 MyIsam 的区别

    行级锁与表级锁

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

    是否支持事务

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

    Mylsam 是不支持事务的。

    是否支持恢复数据

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

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

    是否支持外键

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

    Mylsam 是不支持外键的。

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

    是否支持 MVCC

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

    Mylsam 不支持。


    总结

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

    有启发点个赞 🌹

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

    本篇参考:JavaGuide

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

  • 相关阅读:
    【Docker安装RockeMQ:基于Windows宿主机,并重点解决docker rocketMQ安装情况下控制台无法访问的问题】
    Java 实例 - 字符串小写转大写和测试两个字符串区域是否相等
    python多线程学
    C++ - 多态的实现原理
    管理类全系书单,速速码住(50本书籍全部附送!)
    C语言exit函数
    Java设置JSON字符串参数编码
    git push 报错 The requested URL returned error: 500
    dd命令创建指定大小的文件
    unity资源管理之Addressable
  • 原文地址:https://blog.csdn.net/m0_64372868/article/details/136198202
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号