MySQL

MVCC 多版本并发控制

2022-07-14
版本链 ReadView(一致性视图) 生成 ReadView 的时机 MVCC 小结 版本链 对于使用 InnoDB 存储引擎的表来说,它的聚簇索引记录中都包含下面两个必要的隐藏列: trx_id:一个事务每次对某条聚簇索...
点击阅读

事务的隔离级别

2022-07-13
SQL 标准中的4中隔离级别 SQL标准定义了四个隔离级别如下: READ UNCOMMITTED(未提交读):允许读取尚未提交的变更数据。 READ COMMITTED(已提交读):允许读取事务已经提交的数据。 REPEATABLE R...
点击阅读

并发事务带来的问题

2022-07-13
前言 更新丢失(脏写) 脏读 不可重复读 幻读 不可重复读和幻读的区别 前言 MySQL 数据库一般会并发执行多个事务,多个事务就可能会并发的对相同的数据进行增加、删除、修改和删除操作,这就可能导致出现并发事务的问题,并发事务...
点击阅读

MyISAM和InnoDB的区别

2022-07-13
MySQL 5.5之前,默认的存储引擎一直是 MyISAM。 虽然 MyISAM 性能还行,各种特性也还不错(比如全文索引、压缩、空间函数等),但是 MyISAM 不支持事务和行级锁,更甚至崩溃后无法安全恢复。 因此 MySQL 5.5版本...
点击阅读
MyISAM和InnoDB的区别

MySQL 事务简介

2022-07-13
前言 事务 事务的四个特性 原子性(Atomicity) 隔离性(Isolation) 一致性(Consistency) 持久性(Durability) 事务的状态 🌈扩展知识: 前言 对于大部分程序员来说,他们...
点击阅读

InnoDB中的B+树索引

2022-07-12

前言

InnoDB 中的 B+ 树索引分为三种:聚簇索引、二级索引、联合索引。

点击阅读

drop、delete、truncate区别

2022-07-12
用法不同 drop(丢弃数据):drop table 表名,直接将表都删除掉,在删除表结构的时候使用; delete(删除数据):delete from 表名 where 列名=值,删除某一行的数据,如果不加 where 子句,作用和 t...
点击阅读

数据库范式

2022-07-12

范式有哪些?

1NF 第一范式

属性(即表中字段)不能再被分割,也就是这个字段只能是一个值,不能再分为多个其他的字段了。
1NF 是所有关系型数据库的最基本要求,也就是说关系型数据库中创建的表一定满足第一范式。

2NF 第二范式

2NF 在 1NF 的基础上,消除了非主属性对于码的部分函数依赖。

3NF 第三范式

3NF 在 2NF 的基础上,消除了非主属性对于码的传递函数依赖。

点击阅读