随笔分类 -  Mysql实战45讲

重学Mysql
8.事务是隔离还是不隔离?
摘要:1.前言 在可重复读隔离级别下,事务T启动的时候会创建一个视图read-view,之后事务T执行期间,即使有其他事务修改了数据,事务T看到的仍然跟在启动时看到的一样。也就是说,一个在可重复隔离下执行的事务,好像与世无争,不受外接影响。 2.看到的到底是什么? 但是,在上一篇分享行锁的时候又提到,一个 阅读全文

posted @ 2021-10-20 22:12 太白金星有点烦 阅读(50) 评论(0) 推荐(0)

7.行锁功过:怎么减少行锁对性能的影响?
摘要:1.前言 Mysql的行锁是在存储引擎上进行实现的,但并不是每种存储引擎都支持,比如Myisam引擎层由各个引擎自己实现的。但并不是所有的引擎都支持行锁。对于这种引擎的表,同一张表上任何时刻只能有一个更新在执行,这就会影响到业务的发展。innodb是支持行锁的,这也是Myisam被innodb替代的 阅读全文

posted @ 2021-10-19 23:27 太白金星有点烦 阅读(110) 评论(0) 推荐(0)

6.全局锁和表锁
摘要:1.前言 今天主要说说Mysql的锁,数据库锁设计的初衷是处理并发问题,作为多用户共享的资源,当出现并发访问的时候,数据库需要合理控制资源的访问规则,而锁就是用来实现这些访问规则的数据结构。 2.锁的类别 根据加锁的范围,Mysql数据库里面的锁大致可以分为全局锁、表级别锁和行锁三大类。 3.全局锁 阅读全文

posted @ 2021-10-07 12:27 太白金星有点烦 阅读(105) 评论(0) 推荐(0)

5.深入浅出索引(下)
摘要:1.前言 在上一篇文章中,我们主要介绍了innodb索引的数据结构模型,今天再继续聊聊跟mysql索引有关的概念 2.开始 如果我执行select * from T between 3 and 5,需要执行几次树的搜索操作,会扫描多少行? mysql> create table T ( ID int 阅读全文

posted @ 2021-10-06 23:26 太白金星有点烦 阅读(40) 评论(0) 推荐(0)

4.深入浅出索引(上)
摘要:1.前言 索引的出现是为了提高数据查询的效率 2.索引的常见模型 索引的出现是为了提高数据查询的效率,这里先介绍一下三种简单的比较常见的数据结构,它们分别是哈希表、有序数组和搜素树。 哈希表: 哈希表是一种键-值(key-value)存储数据的结构,我们只要输入待查找的键即key,就可以找到其对应的 阅读全文

posted @ 2021-10-06 20:45 太白金星有点烦 阅读(44) 评论(0) 推荐(0)

3.为什么你改了,我还看不见?
摘要:1.前言 事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在 MySQL 中,事务支持是在引擎层实现的 2.事物的隔离性和隔离级别 事务的四大特性:ACID(原子性、一致性、隔离性、持久性),具体就不细说,这里主要说隔离性。 当数据库上有多个事务同时执行时,就可能出现脏读(dirty re 阅读全文

posted @ 2021-10-04 17:23 太白金星有点烦 阅读(67) 评论(0) 推荐(0)

2.日志系统:一条SQL更新时怎样执行的?
摘要:1.前言 Mysql有很多有用的日志,例如错误日志、通用日志、二进制日志、重做日志等等。 2.更新流程 对于Mysql来说,更新一条sql语句,也需要先进行查询流程后再更新,因此,像前一节所说的一样,有一个查询流程,那么查询后它又是怎样更新的呢? 但是与查询流程不一样的是,更新流程还有涉及到两个重要 阅读全文

posted @ 2021-09-29 23:28 太白金星有点烦 阅读(68) 评论(0) 推荐(0)

1.基础架构~一条语句是怎样执行的?
摘要:1.前言 请问在mysql中一条select语句是怎样执行的吗? 2.开始 Mysql的逻辑架构图 通常我们认为Mysql主要有Server层和存储引擎层两部分组成的,其中server层主要包含连接器、查询缓存、分析器、优化器、执行器等。Mysql的大部分核心功能,以及所有的内置函数(如日期、时间、 阅读全文

posted @ 2021-09-26 23:06 太白金星有点烦 阅读(67) 评论(0) 推荐(0)

导航