![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 91
写代码的小清新
当风起时,唯有努力生存
展开
-
mysql第四章事务隔离和mvcc
事务的使用场景 最经典的例子就是银行转账,用户从a账户转200元到b账户,那么就会产生3个操作 1.检查a账户余额是否够200元 2.a账户减少200元 3.b账户增加200元。这些操作必须保证是一体的,负责用户就会根据时间差进行多次转账。 具体sql实现如下: mysql的四种隔离级别 读未提交 一个事务还未提交,它做的变更就能被别人看到 读提交 一个事务提交后,它做的变更才会被其他人看到 可重复读 一个事务执行过程中看到的数据,总是跟这个事务在启动时看到的数据是一致的。 串行化 对同一行记录,写会加原创 2022-03-10 17:40:34 · 797 阅读 · 0 评论 -
mysql第三章sql的更新
mysql更新流程 更新与查询流程基本相同,分析器会通过词法和语法解析知道这是一条更新语句。优化器决定要使用ID这个索引。然后,执行器负责具体执行,找到这一行,然后更新。 不同的是更新流程涉及到两个重要的日志模块redolog(重做日志)和biglog(归档日志)。 redo log 在MySQL里,如果每一次的更新操作都要写进磁盘,然后磁盘也要找到对应的那条记录,然后再更新,整个过程IO成本、查找成本都很高。为了解决这个问题,MySQL 的设计者就用了**WAL(Write-Ahead Logging)*原创 2022-03-10 10:38:40 · 1004 阅读 · 0 评论 -
mysql第二章一条查询sql语句的一生
一 SQL查询语句是如何被执行的 mysql架构图 大体来说 mysql分为Server层和存储引擎层两部分 Server层 Server层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学、和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。 不同存储引擎共用一个Server层。 引擎层 存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持InnoDB、MyISAM、Memory等多个存储引擎。现原创 2022-03-08 15:13:33 · 614 阅读 · 0 评论