• MySQL--事务、日志及MVCC

    本文将从事务着手,讲述事务的四大特性,并发事务可能带来的问题以及不同的隔离级别,然后聚焦于日志中的undolog和redolog,解析其中的本质,进而了解MVCC的含义以及其如何实现隔离级别等等内容。 事务 事务是一组操作的集合,它是一个不可分割...
  • MySQL--锁的概述

    锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、 RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数...
  • MySQL--视图、存储过程及触发器

    视图 视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视 图的查询中使用的表,并且是在使用视图时动态生成的。 通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落...
  • MySQL--从架构原理到索引及SQL优化

    体系结构/SQL执行过程 在实际开发中,我们写下的 SQL 并不会直接拿去执行,而是要经过 MySQL 内部多个组件的协作处理。这就像你发出一个“订单”,需要经过接单、分配、调度、执行等流程,最终才拿到结果。 了解这些执行流程,是我们掌握...
  • MySQL--基础篇之多表

    多表关系 在日常生活中,其实很多时候都是多个表联合起来使用,便于归类管理,所以多表关系也是数据库使用中不可或缺的一部分。 一对一 场景: 用户表(基本信息+身份信息) 一个人只能拥有一个身份证: 在任意一方加入外键,关联另外一方的主键,并且设置外...
  • MySQL--基础篇

    基本概念在学习MySQL之前,我们先来了解数据库:英文为 DataBase,简称DB,它是存储和管理数据的仓库。 数据是存储在数据库中的,那我们要如何来操作数据库以及数据库中所存放的数据呢? 那这里呢,会涉及到一个系统,那就是数据库管理系统:数据库管...
  • MySQL--基础篇之MySQL的安装

    安装官网下载地址:https://downloads.mysql.com/archives/community/ 解压下载完成后我们得到的是一个压缩包,将其解压,我们就可以得到MySQL 8.0.34 的软件本体了(就是一个文件夹),我们可以把它放在...
  • 消息积压的处理方法

    消息积压的原因MQ 执行有三大阶段: 消息生产阶段。 消息存储阶段。 消息消费阶段。 很显然,消息堆积是出现在第三个消息消费阶段的。 当生产者发送消息的速度超过了消费者处理消息的速度, 或者如果消费者因为某些原因持续阻塞,就会导致队列中的消息堆积...
  • 消息的顺序性

    消息的顺序性错乱在业务中,可能会有对某个订单的增删改操作,比如有三条sql执行顺序是增加、修改、删除;消费者换了顺序给执行成删除、修改、增加,这样能行吗? 肯定是不行的。 RabbitMQ对于 RabbitMQ 来说,导致上面顺序错乱的原因通常是消费...
  • 消息的幂等性

    幂等性是什么幂等是一个数学概念,用函数表达式来描述是这样的:f(x) = f(f(x)),例如求绝对值函数。 放在业务中,幂等就是i同一条消息被重复消费多次,业务结果只会被执行一次,不会引发副作用(如重复扣库存、重复发优惠券、重复扣款等),一句话就是...
/2