MySQL之原理
创始人
2025-05-29 06:39:32
0次

文章目录

  • 一、索引和存储引擎(MyISAM和InnoDB)以及B+树的结构
    • 1.1 MyISAM
    • 1.2 InnoDB
    • 1.3 联合索引
    • 1.4 索引的一些特点
  • 事务
  • MySQL执行过程与BufferPool缓存机制

一、索引和存储引擎(MyISAM和InnoDB)以及B+树的结构

1.1 MyISAM

- 是MySQL5.5版本之前默认的存储引擎、速度比Innode更快。只有非聚簇索引
  • B+树:MyISAM
    在这里插入图片描述

1.2 InnoDB

- 是MySQL5.5版本及之后默认的存储引擎,存储数据更加安全,支持自适应哈希(自己决定是hash还是B+)
- 一定有聚簇索引,但是其他索引都是非聚簇索引
  • B+树:InnoDB

在这里插入图片描述
- 因为B+树是有序的,修改和插入数据效率会更高,所以自增索引比较好。

  • hash树:InnoDB
    在这里插入图片描述

1.3 联合索引

在这里插入图片描述

1.4 索引的一些特点

  • 最左前缀法则:查询从索引的最左前列开始并且不跳过索引中的列
  • 不在索引上做任何操作(计算、函数、改变数据类型),会导致索引失败而扫描全表。

事务

  • 事务:一组操作要么全部成功,要么全部失败,目的是为了保证数据最终的一致性。mysql默认情况下,自动提交事务

  • 特性:

    • 原子性(Atomicity):当前事务的操作要么同时成功,要么同时失败,是由我们的undo log日志保证。
    • 一致性(Consistency):使用事物的最终目的,由业务代码正确逻辑保证。
    • 隔离性(Isolation):在事物并发执行时,他们内部的操作不能互相干扰。
    • 持久性(Durability):一个事务一旦被提交,在数据库中的改变就是永久的,提交后就不能再回滚。由redo 日志记录的。
  • 隔离性/隔离级别: innodb有四种隔离级别,级别越高事务隔离性越好,但性能越低,而隔离机制是由mysql的各种锁以及MVCC机制来实现

    • read uncommit(读未提交):有脏读问题 : 未提交的更改数据,读的时候会读到。就是脏读问题
    • read commit(读已提交):有不可重复读问题 :只能读取已经提交的数据, 但是一个事务中多次读取同一个数据可能不同,就是不可重复读问题。(高并发的用rc)
    • repeatable read(可重复读):有脏写问题: 读取提交数据,在一个事务中,多次读取同一条数据的时候,都是和第一次读取是一样的,即使数据改变在这个事务中还是不变的。就是脏写问题。原理:MVCC,有一个绑定关系,还有事务的号。见下面**(传统公司经常出报表的)**
    • serializable(串行):解决上面全部问题。 原理:写的时候的时候加上读锁。
  • MVCC(类似于copy on write)
    在这里插入图片描述

  • 脏读如何规避缺点

    • 用乐观锁:乐观锁就是在更新的时候会判断一下在此期间别人有没有去更新这个数据,也就是 不采用数据库自身的锁机制,而是通过 程序来实现 。在程序上,我们可以采用 版本号机制 或者 CAS(时间戳) 机制 实现。 乐观锁适用于多读的应用类型, 这样可以提高吞吐量 。

MySQL执行过程与BufferPool缓存机制

在这里插入图片描述

相关内容

热门资讯

一分钟了解透视器!清风手游透视... 一分钟了解透视器!清风手游透视器AI技巧,清风手游多功能竟然是有透视器技巧1、在清风手游插件功能辅助...
实测分享开挂!冰球突破开挂AI... 实测分享开挂!冰球突破开挂AI插件,冰球突破多功能切实有开挂插件1、超多福利:超高返利,海量正版游戏...
专业讨论辅助!老牌人辅助AI技... 专业讨论辅助!老牌人辅助AI技巧,老牌人多功能一贯真的有辅助技巧1、用户打开应用后不用登录就可以直接...
重大通报作弊器!朱雀大厅作弊器... 重大通报作弊器!朱雀大厅作弊器AI软件,朱雀大厅多功能切实真的是有作弊器软件1、打开软件启动之后找到...
玩家必用作弊器!兴动游戏作弊器... 玩家必用作弊器!兴动游戏作弊器AI教程,兴动游戏多功能果然是有作弊器教程1、玩家必用作弊器!兴动游戏...
一分钟了解开挂!鸿福休闲开挂A... 一分钟了解开挂!鸿福休闲开挂AI教程,鸿福休闲多功能原来存在有开挂教程1、这是跨平台的鸿福休闲轻量版...
一分钟揭秘作弊器!新老夫子作弊... 一分钟揭秘作弊器!新老夫子作弊器AI技巧,新老夫子多功能一直是有作弊器技巧亲,关键说明,新老夫子透视...
专业讨论外挂!掼蛋外挂AI方法... 专业讨论外挂!掼蛋外挂AI方法,掼蛋多功能原来存在有外挂方法1)掼蛋辅助插件:进一步探索掼蛋辅助大陆...
科普透视器!MG棋牌透视器AI... 您好,MG棋牌这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在这款...
科普辅助!微乐广西麻将辅助AI... 科普辅助!微乐广西麻将辅助AI软件,微乐广西麻将多功能好像真的是有辅助软件1、完成微乐广西麻将有辅助...