MYSQL
文章平均质量分 83
mysql
AttackingRookie
这个作者很懒,什么都没留下…
展开
-
MYSQL- 索引分析与优化
MYSQL- 索引分析与优化EXPLAINMySQL 提供一个EXPLAIN 命令,它可以对SELECT 语句进行分析,并输出SELECT 执行的详细信息,供开发人员有针对性的优化。例如:EXPLAIN SELECT * from user WHERE id < 3;EXPLAIN 命令的输出内容大致如下:select_type表示查询的类型。常用的值如下:SIMPLE :表示查询语句不包含子查询或unionRIMARY :表示此查询是最外层的查询UNION :表示此查询原创 2021-11-28 10:36:53 · 162 阅读 · 0 评论 -
MYSQL - 锁机制
MySQL 锁MySQL 锁分类从锁的粒度上分MySQL 支持的锁的表级锁、行级锁(InnoDB)、页级锁(BDB)从锁的操作上分为读锁和写锁从实现方式上分乐观锁和悲观锁使用场景修改数据库表结构会自动加表级锁 - 元数据锁更新数据未使用索引,行锁会上升未表级锁更新数据使用索引会使用行级锁select … for update 会使用行级锁表级锁MySQL Server 层实现;每次操作锁住整张表.锁定粒度大,发生锁冲突的概率最高,并发度最低,应用在My ISAM、Inno原创 2021-11-27 18:30:03 · 489 阅读 · 0 评论 -
MYSQL - 索引
MySQL 索引数据结构MySQL 的索引是B+ Tree 结构B+ Tree 是多路查找树,其在每一个节点的孩子数可以多于两个,且每一个节点的孩子数可以多于两个,每一个节点处可以存储多个元素;B+ Tree 的高度一般都是在2-4 这个高度,IO读写次数不多;三层树结构 – 支撑的数据可以达到20G,四层树结构 – 支撑的数据可以达到几十T;B+ 树只有叶子节点才会存储数据,而且存储的数据都是在一行上,而且这样数据都是有指针指向的,也就是有顺序的。这个按顺序去除数据 order by id,则不原创 2021-11-26 23:18:29 · 495 阅读 · 0 评论 -
MYSQL - 事务
事务的四大特性是什么?事务的四大特性是ACID,即原子性、一致性、隔离性和持久性。原子性:事务是一个原子操作单元,其对数据的修改,要么全部执行,要么全部不执行。持久性:一个事务一旦提交,它对数据库中数据的改变就应该是永久性的,后续的操作或故障不应该对其产生影响。隔离性:指的是一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对其他的并发事务是隔离的。一致性:事务开始前和事务结束后,数据库的完整性限制未被破坏。一致性包括两个方面的内容,分别是约束一致性和数据一致性。什么是 WAL原创 2021-11-26 21:43:03 · 827 阅读 · 0 评论 -
MYSQL - Undo Log 、Redo Log And BinLog
Undo logUndo log 介绍Undo: 意为撤销或取消,以撤销操作为目的,返回指定某个状态的操作。Undo log : 数据库事务开始之前,会将要修改的记录存放到Undo 日志里,当事务回滚或者数据库崩溃时,可以利用Undo 日志,撤销未提交事务对数据库产生的影响。Undo log : Undo log 在事务开始前产生;事务在提交时,并不会立刻删除undo log,innodb 会将该事务对应的undo log 放入到删除列表中,后面会通过后台线程purge thread 进行回收处理。原创 2021-11-24 18:43:44 · 415 阅读 · 0 评论 -
MYSQL - InnoDB存储引擎的线程模型
InnoDB存储引擎的线程模型IO Thread在InnoDB 中使用了大量的AIO(Async IO)来做读写处理,这样可以极大提高数据库的性能。在InnoDB 1.0 版本之前共有4个IO Thread, 分别是write, read, insert buffer 和log Thread,后来版本将read thread 和 write thread 分别增大到4个,一共有10个了。read thread: 负责读取操作,将数据从磁盘加载到缓存page 页。4个。write thread原创 2021-11-23 19:41:46 · 183 阅读 · 0 评论 -
MYSQL - innoDB引擎
从MySQL 5.5 版本开始默认使用InnoDB 作为引擎,它擅长处理事务,具有自动崩溃恢复的特性,在日常开发中使用非常广泛。原创 2021-11-23 17:35:54 · 602 阅读 · 0 评论 -
MYSQL - 执行引擎对比(innoDB 与 myISAM)
INNODB 与 MYISAM 对比innodb 和 myisam 是使用mysql 时最常用的两种类型。事务与外键innobd 支持事务与外键,具有安全性和完整性,适合大量insert 或update 操作。myisam 不支持事务和外键,它提供高速存储和检索,适合大量的select 查询操作。锁机制innoDB 支持行级锁,锁定指定记录。基于索引来加锁实现。myisam 支持表级锁,锁定整张表。索引结构innodb 使用聚集索引(聚簇索引),索引和记录一起存储,即缓存索引,也缓存记录原创 2021-11-22 19:51:44 · 140 阅读 · 0 评论 -
MySQL - SQL 运行原理
建立连接建立连接:通过客户端、服务器通信协议与MYSQL 建立连接。MYSQL 客户端与服务器的通信方式是"半双工"。对于每一个MYSQL 的连接,时刻有一个线程状态来标识该线程正在做什么。通信机制:全双工: 能同时发送和接收数据,例如平时打电话。半双工: 指的某一时刻,要么发送数据,要么接收数据,不能同时。例如早期对讲机。单工: 只能发送数据或只能接收数据。例如单行道。show processlist: // 查看用户正在运行的线程信息,root 用户能查看所有线程,其他用户只能查看自.原创 2021-11-22 17:09:40 · 532 阅读 · 0 评论 -
mysql - 架构原理
mysql 架构原理MYSQL Server 架构自顶向下大致可以分为网络层、服务层、存储引擎层和系统文件层。一、网络连接层客户端连接器:指能够与mysql 服务器建立连接的客户端。二、服务层服务层是mysql server 的核心,主要包含系统管理和控制工具、连接池、sql 接口、解析器、查询优化器和缓存六个部分。连接池: 复制存储和管理客户端与数据库的连接,一个线程复制管理一个连接系统管理和控制工具: 例如备份恢复、安全管理、集群管理等。SQL 接口: 用于接受客户端发送的各种原创 2021-11-22 15:04:00 · 105 阅读 · 0 评论