首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
mysql详解
终有救赎
创建于2023-10-26
订阅专栏
mysql一步一步讲解
等 111 人订阅
共63篇文章
创建于2023-10-26
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
MySQL 主从复制原理
在实际生产环境中,如果对MySQL数据库的读和写都在一台数据库服务器中操作,无论是在安全性、高可用性,还是高并发等各个方面都是不能满足实际需求的,一般要通过数据库集群的主从复制机制来同步数据,再通过读
MySQL SQL的完整处理流程
一、sql执行流程分析 一条sql从客户端发起,在mysql中经过了一系列的流程,归结为如下图所示: 客户端提交一条sql语句,先在查询缓存中查询,如果缓存没有命中,将会进行查表操作。查表的流程总结过
MySQL mysqldump 数据备份
部署在后台服务器或者云端的MySQL大部分做了一些限制,在本地无法直连后台服务的数据库3306端口上,一般有防火墙之类的网络中间件 在远程服务器一般不能使用GUI图形化界面工具进行数据备份,所以我们一
MySQL Server 层四个日志
一、MySQL Server层日志简介 一个mysql client发起一个连接请求,处理请求的过程如下图所示: MySQL日志是在MySQL server上生成的,不管更改哪个存储引擎,这些日志都是
MySQL SQL和索引优化总结
首先我们需要知道MySQL主要是从以下3个方面进行优化: SQL语句和索引 应用优化(引入缓存、连接池) 配置参数优化 一、SQL语句和索引的优化 当数据量比较大,若SQL语句写的不合适,会导致SQL
MySQL 重做日志 redo log
在事务的ACID特性中,原子性(A)、一致性(C)、持久性(D)由undo log和redo log实现,隔离性(I)由锁+MVCC实现 undo log:事务还没有commit,中途执行异常,可以使
MySQL 意向共享锁、意向排他锁、死锁
一、InnoDB表级锁 我们知道,InnoDB是支持行锁,但不是每次都获取行锁,如果不使用索引的,那还是获取的表锁。而且有的时候,我们希望直接去使用表锁 在绝大部分情况下都应该使用行锁,因为事务的并发
MySQL MVCC多版本并发控制(脏读和不可重复读解决原理)
一、MVCC概念 MVCC是多版本并发控制(Multi-Version Concurrency Control),是MySQL中基于乐观锁理论实现隔离级别的方式,用于实现已提交读和可重复读隔离级别,也
MySQL 回滚日志 undo log
一、引入 undo log 一般数据库引擎默认工作在事务的中间两个隔离级别: TRANSACTION_READ_COMMITTED,已提交读,oracle默认工作级别。不允许读取未commit的数据,
MySQL间隙锁(幻读解决原理)
一、间隙锁概念 当我们用范围条件而不是相等条件检索数据, 并请求共享或排他锁时,InnoDB 会给符合条件的已有数据记录的索引项加锁;对于键值在条件范围内但并不存在的记录,叫做“间隙(GAP)” ,I
MySQL表锁、行锁、排它锁和共享锁
事务隔离级别的实现原理:简单来说就是各种锁机制和MVCC多版本并发控制 我们学习知识的时候,需要了解知识点出现的原因,什么情况下能用到这个知识 我们说到事务,就得说到事务的ACID特性,为什么需要隔离
MySQL事务的隔离级别
一、隔离级别概念 事务的隔离级别就是对事务并发的控制 MySQL支持的四种隔离级别是: TRANSACTION_READ_UNCOMMITTED:未提交读。说明在提交前事务A可以看到事务B的变化。这样
MySQL事务的ACID特性以及并发问题
一、事务概念 一个事务是由一条或者多条对数据库操作的SQL语句所组成的一个不可分割的单元,只有当事务中的所有操作都正常执行完了,整个事 务才会被提交给数据库;如果有部分事务处理失败,那么事务就要回退到
MySQL优化之慢日志查询
一、慢查询日志概念 对于SQL和索引的优化问题,我们会使用explain去分析SQL语句。但是真正的企业级项目有成千上万条SQL,我们不可能从头开始一条一条explain去分析。我们从什么地方可以获取
MyISAM主键索引树和二级索引树
MyISAM:数据和索引没有放在一块,叫做 非聚集索引,不可能回表 InnoDB:数据和索引存放在一块,叫聚集索引 ,会涉及回表 此时假设一个场景:uid是主键,有主键索引树,name有索引,创建二级
MySQL哈希索引以及InnoDB自适应哈希索引
一、哈希索引 哈希索引是基于内存的支持,底层结构就是链式哈希表,增删改查的时间复杂度都是O(1),一断电就没了,因为内存搜索,哈希表是最快的 而平衡树的增删改查的时间复杂度是O(long2n),此外
MySQL索引常见问题
问题1:用联合索引优化using filesort 首先,要给userid加索引(一般过滤条件的字段需要加索引),此时创建的是二级索引树,select *涉及回表。而且还有order by addti
InnoDB主键索引树和二级索引树
我们这里讨论InnoDB存储引擎,数据和索引存储在同一个文件student.ibd 场景1:主键索引树 如果是上面这样查询,这表示整表搜索,从左到右遍历叶子节点链表,从小到大访问 如果是上面这样查询,
MySQL索引底层实现原理(B树和B+树)
一、B-树索引 1. 理论部分 数据库索引是存储在磁盘上的,当数据量大时,就不能把整个索引全部加载到内存了,只能逐一加载每一个磁盘块(对应索引树的节点),索引树越低,越矮胖,磁盘IO次数就少 MySQ
MySQL存储引擎以及索引
一、数据库引擎 1. 查看数据库引擎 2. 查看表结构 show create table [student]:查看表结构,其中表使用的数据库引擎和字符集等可以在配置文件中修改。windows下的配置
下一页