数据库
文章平均质量分 94
大话数据库
路上的追梦人
尽人事,听天命
展开
-
基于Docker的Mysql主从配置搭建
基于Docker的Mysql主从配置搭建原创 2022-02-25 19:48:38 · 1364 阅读 · 0 评论 -
MySQL事务日志-Redo与Undo
事务日志 什么是事务日志? 事务要保证ACID的完整性必须依靠事务日志做跟踪,每一个操作在真正写入数据到数据库之前,先写入到日志文件中,比如删除一行数据会先在日志文件中将此行标记为删除,但是数据库中的数据文件并没有发生变化。只有在(包含多个sql语句)整个事务提交后,再把整个事务中的sql语句批量同步到磁盘上的数据库文件中。在事务引擎上的每一次写操作都需要执行两遍如下过程: 先写入日志文件中写入日志文件中的仅仅是操作过程,而不是操作数据本身,所以速度比写数据库文件速度要快很多。 再写入数据库文件中原创 2020-12-20 13:56:00 · 184 阅读 · 1 评论 -
深入探索:MySQL总体架构->查询执行流程->语句执行顺序
本文转载于:http://www.cnblogs.com/annsshadow/p/5037667.html 前言: 一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一篇博文了。 本文将从MySQL总体架构--->查询执行流程--->语句执行顺序来探讨一下其中的知识。 一、MySQL架构总览: 架构最好看图,再配上必要的说明文字。 下图根据参考书籍中一图为原本,再在其上添加上了自己的理解。 从上图..转载 2020-12-07 12:56:33 · 67 阅读 · 0 评论 -
谈一谈MySQL是如何解决幻读问题的?
一、摘要 事务的隔离级别有四种,读未提交,读已提交,可重复读和串行化,下面结合具体的问题,在MySQL中,Innodb引擎是怎么解决幻读的? 二、幻读解决方案 一张图胜过千言万语, next-key锁的原理: 将当前数据行与上一条数据和下一条数据之间的间隙锁定,保证此范围内读取数据是一致的; next-key锁包括: 记录锁:加在索引上的锁; 间隙锁:加在索引之间的锁; ...原创 2020-11-30 13:04:46 · 176 阅读 · 0 评论 -
详细了解-select...from... for update
前言 近期开发与钱相关的项目,在高并发场景下对数据的准确行有很高的要求,用到了for update,故总结一波以便日后留恋。 for update的使用场景 如果遇到存在高并发并且对于数据的准确性很有要求的场景,是需要了解和使用for update的。 比如涉及到金钱、库存等。一般这些操作都是很长一串并且是开启事务的。如果库存刚开始读的时候是1,而立马另一个进程进行了update将库存更新为0了,而事务还没有结束,会将错的数据一直执行下去,就会有问题。所以需要for upate 进行数据加锁防止转载 2020-10-20 16:01:57 · 1255 阅读 · 0 评论