首页
关于
1
声明式API与Kubernetes编程范式
2
撬动离线业务:Job与CronJob
3
容器化守护进程的意义:DaemonSet
4
StatefulSet 有状态应用实践
5
StatefulSet 存储状态
kaixindeken
累计撰写
247
篇文章
累计创建
16
个标签
累计收到
0
条评论
栏目
首页
关于
搜索
标签搜索
tensorflow
golang
redis
spring
mysql
laravel
twine
net
data_structure
algorithm
openfaas
kubernetes
docker
python
pytorch
php
目 录
CONTENT
以下是
mysql
相关的文章
2021-09-24
数据库不应该使用外键
当我们想要持久化地存储数据时,使用关系型数据库往往都是最稳妥的选择,这不仅因为今天的关系型数据库种类非常丰富并且稳定,还因为不同社区对关系型数据库的支持都非常完备。我们在前面的文章中曾经分析过 为什么 MySQL 的自增主键不单调也不连续,这篇文章我们来分析关系型数据库中另一个重要的概念 — 外键(
2021-09-24
98
0
0
2021-09-10
MySQL 使用 B+ 树
概述首先需要澄清的一点是,MySQL 跟 B+ 树没有直接的关系,真正与 B+ 树有关系的是 MySQL 的默认存储引擎 InnoDB,MySQL 中存储引擎的主要作用是负责数据的存储和提取,除了 InnoDB 之外,MySQL 中也支持 MyISAM 作为表的底层存储引擎。我们在使用 SQL 语句
2021-09-10
119
0
0
2021-07-27
悲观锁、乐观锁和数据库事务隔离性的实现
悲观锁悲观锁就是在加锁时很悲观,具体而言,就是对数据被外界(当前事务之外的其他事务,以及外部系统事务)修改持保守态度,总是假设最坏的情况,每次读取数据时都认为会被其他事务修改,所以都会加锁(悲观锁),从而将数据处于锁定状态。悲观锁往往依靠数据库提供的锁机制,也就是我们在上篇教程介绍的锁,比如共享锁、
2021-07-27
162
0
0
2021-07-27
MySQL 中的全局锁、表锁与行锁(共享锁、排它锁、意向锁、死锁)
根据加锁的范围,MySQL 里面的锁可以分为全局锁、表锁和行锁。全局锁全局锁就是对整个数据库实例加锁,比如你可以通过如下命令:flush tables with read lock;为 MySQL 数据库设置全局读锁,这样一来,整个数据库就会处于只读状态。聪明如你,应该可以猜到全局读锁可能的适用场景
2021-07-27
132
0
0
2021-07-27
通过 MVCC(多版本并发控制)保证数据库事务的一致性
undo 日志链表当 InnoDB 引擎底层开启一个新事务的时候,会分配一个全局唯一的事务 ID,该事务 ID 写入 undo 日志的同时也会存储到数据表记录簇拥索引的 trx_id 隐藏列中:另一个隐藏列 roll_pointer 指针会指向该记录上一个版本的 undo 日志,发生事务回滚时我们可
2021-07-27
133
0
0
2021-07-26
并发事务存在的问题和 MySQL 事务隔离级别
并发事务的由来我们知道,MySQL 数据库是一个典型的 C/S 架构(即 Client/Server,作为对比,网站应用属于 B/S 架构,即 Browser/Server),在服务器上启动 MySQL 服务端软件后,可以通过多种不同的 MySQL 客户端软件建立与服务端的连接,这些客户端软件包括命
2021-07-26
118
0
0
2021-07-22
通过 undo 日志保证数据库事务的原子性
上篇教程学院君给大家介绍了如何通过 redo 日志保证数据库事务的持久性,简而言之,就是在数据库事务提交后,将对应修改记录持久化到 redo 日志,从而确保即使数据库服务器崩溃,重启后也能恢复相应的未持久化到磁盘的数据库记录。今天,学院君来给大家介绍下 MySQL 数据库 InnoDB 引擎提供的另
2021-07-22
133
0
0
2021-07-22
通过 redo 日志保证数据库事务的持久性
学院君在上篇教程中给大家介绍了数据库事务的概念和 ACID 特性,你可以看到数据库事务主要是围绕写入操作(包括插入、更新和删除)展开的,因为查询操作其实对数据库表数据没有任何副作用,而写入操作则不然,有更多问题需要考虑,比如多个连接同时执行写入操作带来的并发安全问题(隔离性)、写入操作如何在即使出现
2021-07-22
115
0
0
2021-07-13
MySQL 数据库事务简介与 ACID 特性
数据库事务简介数据库事务简单而言,就是一连串的数据库操作,这些操作是为了完成某个具体的功能,之所以要引入事务,是因为这些操作要么都执行成功,要么都执行失败,不能部分成功,部分失败(当然,对于只包含单个 SQL 语句的事务,显然也是符合事务概念的约束的)。为了形象地解释数据库事务,我们举一个烂大街的例
2021-07-13
188
0
0
2021-06-29
Buffer Pool
Buffer Pool 的引入学院君在前面的教程中已经介绍过 InnoDB 存储引擎会将所有索引和数据信息持久化到磁盘文件中,然后基于表空间和数据页来管理表记录,数据页是 MySQL 管理维护表记录的基本单位,对于设置索引的列,还会为其维护 B+ 索引树。不过,当 MySQL 服务端执行 SQL 查
2021-06-29
133
0
0
1
2
3