最新 最热

02 | 基础框架:一条sql查询语句是如何执行的_45

大体来说,MySQL 可以分为 Server 层和存储引擎层两部分,不同的存储引擎共用一个 Server 层。

2021-12-24
0

01 | 日志系统:一条SQL更新语句是如何执行的?

我们还是从一个表的一条更新语句说起,下面是这个表的创建语句,这个表有一个主键 ID 和一个整型字段 c: mysql> create table T(ID int primary key, c int); 如果要将 ID=2 这一行的值加 1,SQL 语句就会这么写: mysql> upd...

2021-12-24
0

03 | 事务隔离:为什么你改了我还看不见?

ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性 -Atomicity(原子性):一个事务(transaction)中的所有操作,或者全部完成,或者全部不完成,不会结束在中间某个环节。事务在执行过程中发生...

2021-12-24
0

04 | 深入浅出索引(上)

索引的出现是为了提高查询效率,但是实现索引的方式却有很多种,所以这里也就引入了索引模型的概念。可以用于提高读写效率的数据结构很多,这里我先给你介绍三种常见、也比较简单的数据结构,它们分别是哈希表、有序数组和搜...

2021-12-24
0

06 | 全局锁和表锁 :给表加个字段怎么有这么多阻碍?

顾名思义,全局锁就是对整个数据库实例加锁。MySQL 提供了一个加全局读锁的方法,命令是Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据...

2021-12-24
0

Mysql主从复制方式以及可能出现的问题

大致流程:主库将变更写binlog日志,然后从库连接到主库之后,从库有一个IO线程,将主库的binlog日志拷贝到自己本地,写入一个中继日志 relay日志中。接着从库中有一个SQL线程会从中继日志读取binlog,然后执行binlog日志中的内...

2021-12-24
0

多服务器对于同一批数据进行并发批处理的控制

本文先提供一个没有采用的方式--采用事务加select for update的形式

2021-12-24
5

秒杀团购如何做到抗住高流量?

这里我以我做的一个最有意思的营销活动,给大家介绍一下,不涉及技术,后面出案例会以此为案例而已,看技术可以跳过,我这个活动叫做《周期循环购》,这个活动可以设置好参与的商品,然后支持设置活动总的有效时间之外呢,我们还支...

2021-12-24
7

Mysql数据库对象命名规范

数据库对象是数据库的组成部分,常见的有以下几种:表(Table )、索引(Index)、视图(View)、图表(Diagram)、缺省值(Default)、规则(Rule)、触发器(Trigger)、存储过程(Stored Procedure)、 用户(User)等。命名规范是指数据库对象如数据库(SCH...

2021-12-23
0

CentOS7 中 MySQL 5.7 主主互备配置

先从 MySQL 对数据库复制的能力看,MySQL 支持单向、异步的复制。复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护日志文件的一个索引以跟踪日志循环。...

2021-12-23
0