MySQL
文章平均质量分 95
A.iguodala
共同进步,加油!
展开
-
MySQL 实战 45 讲笔记
文章目录一、基础篇1. 基础架构2. 日志系统3. 事务隔离4. 索引5. 锁二、实践篇1. 选择普通索引还是唯一索引?一、基础篇1. 基础架构MySQL 基本架构连接器执行MySQL 的连接操作;也可分为长连接和短连接,长连接占用系统资源,短连接频繁建立连接耗时。查询缓存可能之前查询过,则直接在缓存中以 key value 存储;不建议使用,因为缓存命中率低,一旦对应表更新就会刷新缓存;8.0 之后移除该功能。分析器如果没有命中缓存,就进入分析器,进行语法、词法的原创 2021-10-04 16:45:36 · 1321 阅读 · 0 评论 -
MySQL 技术内幕(五):备份、恢复和集群
文章目录一、主从复制1. 复制的工作原理2. 复制具体操作二、分库分表1. 垂直拆分2. 水平拆分一、主从复制1. 复制的工作原理复制(replication)是 MySQL 数据库提供的一种高可用高性能的解决方案,主要分为以下三步:主服务器(master)把数据更改记录到二进制日志(binlog)中。从服务器(slave)把主服务器的二进制日志(binlog)复制到自己的中继日志(relay log)中(主服务器主动向从服务器发送日志)。从服务器重做中继日志中的日志,把更改应用到自己的数据库原创 2021-09-05 23:13:09 · 585 阅读 · 0 评论 -
MySQL 技术内幕(四):事务
文章目录1. 分类2. 事务的实现2.1 redo2.2 undo2.2.1 undo log 格式2.2.2 purge2.3 group commit3. 事务的隔离级别4. 不好的事务习惯事务会把数据库从一种一致状态转换为另一种一致性状态。事务的四大特性(ACID):原子性(Atomicity)一个事务操作要么全都成功,要么全部失败,是一个原子性操作。一致性(Consistency)表示一个事务将数据库从一种一致性状态转移为另一种一致性状态。隔离性(Isolaion)事原创 2021-08-21 19:31:42 · 858 阅读 · 1 评论 -
MySQL 技术内幕(三):锁
文章目录1. InnoDB 存储引擎中的锁1.1 锁的类型1.2 一致性非锁定读1.3 一致性锁定读1.4 自增长与锁1.5 外键和锁2. 锁的算法2.1 行锁的三种算法3. 锁问题开发多用户、数据库驱动的应用时,最大的一个难点是:一方面要最大程度地利用数据库的并发访问,另外一方面还要确保每个用户能以一致的方式读取和修改数据。为此就有了锁(locking)的机制。从程序员的角度来说,锁分为两类:悲观锁:顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别原创 2021-08-21 00:44:40 · 477 阅读 · 1 评论 -
MySQL 技术内幕(二):索引
文章目录1. B+ 树索引1.1 聚集索引1.2 辅助索引1.3 索引的分裂1. B+ 树索引在数据库中,B+ 树的高度一般在 2 ~ 4 层,这也就是说查找某一键值对的行记录需要 2 ~ 4 次 IO。数据库中的B+树索引可以分为聚集索引(clustered inex)和辅助索引 ( secondaryindex)6,但是不管是聚集还是辅助的索引,其内部都是B+树的,即高度平衡的,叶子节点存放着所有的数据。聚集索引与辅助索引不同的是,叶子节点存放的是否是一整行的信息。1.1 聚集索引聚集索引(c原创 2021-08-19 15:45:15 · 666 阅读 · 2 评论 -
MySQL技术内幕(一) InnoDB存储引擎
文章目录1. InnoDB 体系架构1.1 后台线程1.2 内存1.3 Checkpoint 技术1.5 Master Thread 工作方式1. InnoDB 体系架构InnoDB 存储引擎有多个内存块,可以认为这些内存块组成一个大的内存池。后台线程的主要作用是负责刷新内存池中的数据,保证内存池中的内存缓存的是最近的数据是最近的数据,此外将已修改的数据文件刷新到磁盘文件,同时保证在数据库发生异常的轻快下InnoDB能恢复到正常运行状态。简单来说,就是相当于一个小型的操作系统,后台线程相当于CPU,原创 2021-08-15 16:57:55 · 1990 阅读 · 0 评论 -
MySQL 创建高性能的索引
文章目录一、索引基础1. 索引的类型1.1 B-Tree 索引1.2 哈希索引1.3 空间数据索引(R-Tree)1.4 全文索引二、索引的优缺点三、高性能索引策略1. 独立的列2. 前缀索引3. 多列索引4. 合适的索引列顺序5. 聚簇索引6. 覆盖索引一、索引基础1. 索引的类型1.1 B-Tree 索引大多数MySQL存储引擎默认使用的是B+树的索引,不同的存储引擎用不同的方式使用B+树索引,MyISAM使用前缀压缩技术使得索引更小,但是InnoDB则按照元数据格式进行存储;MyISAM索引通原创 2021-04-29 11:10:00 · 1919 阅读 · 7 评论 -
MySQL 高级入门
文章目录一、MYSQL逻辑架构连接层服务层引擎层存储层二、事务1. 事务的特性2. 隔离级别三、多版本并发控制(MVCC)undo 日志 和 redo 日志实现原理总结四、存储引擎概述InnoDB 存储引擎MyISAM 存储引擎两者比较一、MYSQL逻辑架构连接层最上层是一些客服端和连接服务,包括socket通信和大多数基于客服端/服务端工具实现的类似于tcp/ip的通信,主要完成一些类似于连接处理、授权认证及相关安全的方案。每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独原创 2021-04-26 16:43:04 · 344 阅读 · 0 评论