上一篇讲到sql提交到存储引擎了,由存储引擎操作内存或磁盘中的数据。 这一篇就开始将接下来的innodb存储引擎是如何处理数据的。 需要执行一条sql: update name=lisi where id =1; 第一步:查询数据 innodb首先需要定位到这条数据所在的位置,如果内存中有则直接定位 ...
分类:
数据库 时间:
2020-01-27 09:31:21
阅读次数:
82
MyISAM 和 InnoDB 存储引擎的表默认创建的都是 BTREE 索引。默认情况下,MEMORY 存储引擎使用 HASH 索引,但也支持 BTREE 索引。 ...
分类:
数据库 时间:
2020-01-26 17:24:26
阅读次数:
70
MySQL 从 5.0.2 版本开始支持触发器的功能。触发器是与表有关的数据库对象,在满足定义 条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端 确保数据的完整性。 MySQL 从 5.0.3 开始支持分布式事务,当前分布式事务只支持 InnoDB 存储引擎。一个 分 ...
分类:
数据库 时间:
2020-01-26 17:19:48
阅读次数:
94
前言 本章介绍行锁的相关知识。行锁偏向InnoDB存储引擎,开销大,加锁慢,会出现死锁,锁定粒度小,发生锁冲突的概率低,但并发度高。 准备 1. 创建表tb_innodb_lock,注意数据库引擎为InnoDB。 CREATE TABLE test_innodb_lock ( a INT (11), ...
分类:
数据库 时间:
2020-01-15 23:01:41
阅读次数:
137
MySQL InnoDB存储引擎使用MVCC机制来提供一致性非锁定读((consistent nonlocking read)。 假设现在有表TB001,其表结构为: CREATE TABLE `TB001` ( `ID` VARCHAR(20) NOT NULL, `C1` VARCHAR(20) ...
分类:
数据库 时间:
2020-01-13 23:36:38
阅读次数:
166
后台线程的主要作用是负责刷新内存池中的数据,保证缓存中的内存缓存的是最近的数据。此外将已修改的数据文件刷新到磁盘文件,同时保证在数据库发生异常的情况下InnoDB能恢复到正常运行状态。 InnoDB存储引擎是多线程的模型,有多个不同的后台线程,负责处理不同的任务。 mysql> show varia ...
分类:
数据库 时间:
2020-01-13 18:02:52
阅读次数:
122
存储引擎概念介绍MySQL中的数据用各种不同的技术存储在文件中,每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力,这些不同的技术以及配套的功能在MySQL中称为存储引擎存储引擎就是MySQL将数据存储在文件系统中的存储方式或者存储格式————因此适用的场景也不一样目前MySQL常用的两种存储引擎MyISAMInnoDB存储引擎:一种基础的驱动力,存储技术:存储机制、索引
分类:
数据库 时间:
2020-01-08 00:51:09
阅读次数:
99
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
bin进制文件data数据lib一般放库文件 my.ini配置文件 prot 服务端端口号 mysql 客户端的配置 mysqld 服务端的配置 basedir 安装目录 datadir 文件目录 default-stroage-engine=INNODB 存储引擎 sql-mode="" 语法模式 ...
分类:
数据库 时间:
2019-12-29 21:54:43
阅读次数:
66
前言 只有光头才能变强 索引和锁在数据库中可以说是非常重要的知识点了,在面试中也会经常会被问到的。 本文力求简单讲清每个知识点,希望大家看完能有所收获 声明:如果没有说明具体的数据库和存储引擎,默认指的是MySQL中的InnoDB存储引擎 一、索引 在之前,我对索引有以下的认知: 索引可以加快数据库 ...
分类:
数据库 时间:
2019-12-28 19:05:32
阅读次数:
123