
MySQL
文章平均质量分 89
MySQL
zhihuan祉幻
这个作者很懒,什么都没留下…
展开
-
MySQL-全局锁,表锁,行锁分析
今天我们来研究下数据库的锁,首先数据库锁的设计就是用来处理并发问题的,作为多用户共享的资源,出现并发访问的时候,数据库就要合理的控制访问资源的规则,锁????就是用来实现这些访问规则的重要数据结构! 根据锁的范围大小,MySQL里面的锁一共可以分为全局锁,表级锁,行锁三大类。下面我们来一一介绍下这些锁: 全局锁: 全局锁就是对整个数据库实例加锁,加了全局锁之后我们的整个数据库就会变成只读的状态,其他线程的操作都会阻塞,比如数据的增删改,修改表结构,建表等语句。 MySQL提供了一个加全局锁的命令就是 Flu原创 2021-11-27 21:27:16 · 592 阅读 · 0 评论 -
MySQL-事务是怎么实现的?
*懒得多说废话: * ACID:原子性,一致性,隔离性,持久性 原子性:表示事务是最小的执行单位,该操作不能再被拆分, 保证事务的要么全部成功,要么就不执行。 一致性:表示数据库进行事务的操作后,由一个正确的状态到另一个正确的状态 隔离性:并发访问数据库的时候,事务与事务之间的操作不会互相受影响,是独立的。 持久性:在数据库进行事务的操作后,是能成功的永久的保存到磁盘里的,即使数据库发生故障也不影响; 当数据库上有多个事务同时执行的时候就可能会出现脏读,不可重复读,幻读的问题 脏读:当一个事务A正在访原创 2021-11-24 09:39:10 · 662 阅读 · 0 评论 -
MySQL-一条更新语句是怎么执行的
上一篇博客我们简单讲述了一条查询语句在MySQL中是怎么执行的,现在我们再来看看一条更新语句在MySQL中是怎么执行的(前提是InnoDB引擎): 比如我们有这么一条sql update user set age=age+1 where user_id = 1; 首先确实的是他还是会走在我上一篇的查询语句运行的文章中那些流程,然后在走到执行器这一步的时候开始不一样了: 在执行器先找引擎找到user_id = 1的这一行(如果这一行在内存中的话就直接返回这一行,内存中没有的话就要先从磁盘中读取到内存中再返原创 2021-11-20 09:39:23 · 605 阅读 · 0 评论 -
MySQL-一条查询语句是怎么执行的
MySQL基础架构图: 总体上来说,MySQL是分为Server层跟存储引擎层两个部分的 Server层:包含连接器,查询缓存,分析器,优化器,执行器等大多数核心的服务功能,以及所有的内置函数。 存储引擎:主要负责数据的存储和提取,它其实是相当于一个插件来的。我们熟知的有InnoDB,MyISAM,Memory等存储 引擎,在MySQL5.5.5之后默认的存储引擎就是InnoDB 下面就让我们来跟随一条sql的内部执行过程,它在MySQL里都经历了什么 概括:客户端先要与数据库进行连接,才能查原创 2021-11-14 12:02:04 · 928 阅读 · 0 评论