前言 InnoDB 有两块非常重要的日志,一个是undo log,另外一个是redo log,前者用来保证事务的原子性以及InnoDB的MVCC,后者用来保证事务的持久性。 和大多数关系型数据库一样,InnoDB记录了对数据文件的物理更改,并保证总是日志先行,也就是所谓的WAL,即在持久化数据文件前 ...
分类:
其他好文 时间:
2020-01-04 22:38:37
阅读次数:
124
Mysql B-Tree和B+树索引 Mysql加快数据查找使用B-Tree数据结构存储索引数据,InnoDB存储引擎实际使用B+Tree。下面首先介绍下B-Tree和B+Tree的区别: 一、B树和B+树索引(手绘图简要说明) 1.B-Tree索引: 2.B+Tree索引: 3.B-Tree 和B ...
分类:
数据库 时间:
2020-01-04 22:04:37
阅读次数:
75
Table of Contents 1. "MyISAM 引擎" 2. "InnoDB 引擎" 3. "其它存储引擎" 4. "管理存储引擎" MyISAM 引擎 MyISAM 引擎特点 不支持事务 表级锁定 读写相互阻塞,写入不能读,读时不能写 只缓存索引 不支持外键约束 不支持聚簇索引 读取数据 ...
分类:
数据库 时间:
2020-01-04 12:32:51
阅读次数:
115
一、什么是死锁 官方定义如下:两个事务都持有对方需要的锁,并且在等待对方释放,并且双方都不会释放自己的锁。 这个就好比你有一个人质,对方有一个人质,你们俩去谈判说换人。你让对面放人,对面让你放人。 二、为什么会形成死锁 看到这里,也许你会有这样的疑问,事务和谈判不一样,为什么事务不能使用完锁之后立马 ...
分类:
数据库 时间:
2020-01-03 10:35:38
阅读次数:
89
前言 MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Mi ...
分类:
数据库 时间:
2020-01-03 00:54:52
阅读次数:
104
1、MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法。不是事务安全的,而且不支持外键,如果执行大量的select,insert MyISAM比较适合。 2、 ...
分类:
数据库 时间:
2020-01-02 15:59:45
阅读次数:
78
前言:本文主要总结一下mysql常见的基础知识,内容比较基础,对于更多深入的内容,后面会写专门系列。 1.MySQL本身实际上是一个SQL接口,它的内部包含了多种数据引擎,常用的包括: InnoDB:由Innobase Oy公司开发,支持事务; MyISAM:MySQL早期集成的默认数据库引擎,不支 ...
分类:
数据库 时间:
2020-01-02 13:06:18
阅读次数:
107
锁 我们知道mysql中支持很多个存储引擎,在不同的存储引擎下所能支持的锁是不同的,我们通过MyISAM和InnoDB来进行一下对比。 表级锁定(table level) ? 表级别的锁定是MySQL各存储引擎中最大颗粒度的锁定机制。该锁定机制最大的特点是实现逻辑非常简单,带来的系统负面影响最小。所 ...
分类:
数据库 时间:
2020-01-01 19:02:25
阅读次数:
89
事务一般是指数据库事务,是指作为一个程序执行单元执行的一系列操作,要么完全执行,要么完全不执行。事务就是判断以结果为导向的标准。 一.spring的特性(ACID) (1).原子性(atomicity) 原子性就是一个不可分割的工作单元。简单的说,就是指事务包含的所有操作要么全部成功,要么全部失败回 ...
分类:
编程语言 时间:
2020-01-01 17:14:07
阅读次数:
110
参考mysql8.0官方文档 https://dev.mysql.com/doc/refman/8.0/en/ibd2sdi.html ibd2sdi是一个实用程序,用于从表空间文件中提取 序列化的字典信息(SDI) InnoDB。SDI数据存在于所有持久性InnoDB表空间文件中。 ibd2sdi ...
分类:
数据库 时间:
2020-01-01 12:02:56
阅读次数:
181