初学数据库,对事务未提交的个人见解(个人学习记录)
本人大二。通过计算机组成的学习,同时最近对mysql事务的疑惑
事务提交前,涉及修改表操作的DML语句执行后,所造成的结果到底有没有写入永久性磁盘,这个问题也上网查了很多,网络说法不一,由于技术原因内层源码也无法研究。

基于mysql的Innob模式,首先,数据库操作都是先将磁盘上以页的模式缓存到内存中,这个学过计算机组成原理就可理解,然后之后对内存中的数据进行操作,同时生成redo日志,这个日志保存所做的修改,当事务提交后,会将redo日志写入磁盘,保证数据库的持久化。
如果没有提交事务前发生意外,服务器崩溃或者断电关机,此时,事务未提交,日志文件未写入磁盘,意外修复后,数据库扫描磁盘上的日志文件,发现没有事务提交的记录,所以所有更改都未写入磁盘。
反之,事务提交成功,日志文件写入成功,同时数据修改也写入了磁盘,保证持久化。
另一种情况,事务提交成功,数据修改未即时写入磁盘,但日志文件已写入,这时发生意外,等恢复后,数据库会扫描日志文件,发现已提交的事务,但并未修改数据,此时会进行修改,保证持久化。
以上内容仅个人见解,查了很多问答得出的结果。勿喷

数据库事务未提交的初学理解相关推荐

  1. 事务未提交而释放锁导致的Redis锁失效分析

    项目场景: 例如:一个user表,里面有个字段名称是account_money(账户金额). 现在的操作是,先查询这个表中账户余额多少,再加上前端传来的金额,最后更新到表中. 问题描述 Redis分布 ...

  2. mysql vip切换未重连问题_服务器断网事务未提交导致MYSQL锁表问题(ADSL拨号上网)...

    环境描述: 由于特殊原因服务器的网络是电信ADSL拨号上网的,用"自动切换IP精灵"进行自动断网重连,每次重新连上网络需要2s时间,设置2小时切换一次网络. MYSQL数据库在远程 ...

  3. mysql事务未提交读_mysql事务之未提交读Read uncommitted(仅学习)

    1,Read uncommitted定义: wiki上的定义如下: 未提交读(READ UNCOMMITTED)是最低的隔离级别.允许脏读(dirty reads),事务可以看到其他事务"尚 ...

  4. 解决MySQL事务未提交导致死锁报错 避免死锁的方法

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/xuheng8600/article/d ...

  5. 事务未提交 别人能读取到吗_Mysql 事务-面试笔记

    问题汇总: 什么是事务 事务的特征-ACID 事务的原理 事务隔离级别 并发事务带来的问题 - 数据库隔离现象 不可重复读与幻读的区别 事务隔离机制解决方法 什么是MVCC MVCC是如何工作的 MV ...

  6. oracle表结构修改回滚,87.Oracle数据库SQL开发之 修改表内存——数据库事务的提交和回滚...

    87.Oracle数据库SQL开发之 修改表内存--数据库事务的提交和回滚 数据库事务(transaction)就是一组SQL语句,这组SQL语句时一个逻辑工作单元. 要永久性的记录事务中SQL语句的 ...

  7. mysql事务未提交 也未回滚

    文章目录 一.场景模拟 二.紧急处理 三.原因分析 四.相关命令 1.查看正在执行的事务 2.查看正在锁的事务 3.查看等待锁的事务 4.查看所有的线程列表 5.定位未提交的事务执行的sql语句 公司 ...

  8. 多次请求事务未提交导致的数据重复入库问题

    起因 最近的一次开发中,请求过来要判断数据是否存在,不存在则入库.由于是循环有着相同的数据入库请求,在执行时上一次事务还未提交,第二次的请求在数据库查询判断时发现数据不存在,又执行了一次入库请求,导致 ...

  9. mysql——如何解决事务未提交导致锁等待

    背景 有一次同事使用 Navicat for MySQL 软件对某个表进行了 开启事物,导致我们一直查询不出数据. 这种情况在平时项目也会出现 事物未提交的情况. 那么问题来了,事物未提交导致锁等待如 ...

最新文章

  1. 女生做软件测试需要学习什么技术?
  2. mysql tomcat 自动重连_基于tomcat+mysql的c/s模式下的系统自动更新
  3. 安卓 按钮 menuinflater_浏览图片可致安卓手机远程被黑 工业用冰柜可被远程解冻...
  4. 荷花旁的浪漫,优雅了谁的光年,清纯少女芭蕾写真
  5. 征战蓝桥 —— 2016年第七届 —— C/C++A组第2题——生日蜡烛
  6. OpenCV获取图像某点的颜色值,并设置某点的颜色
  7. Android low memory killer 机制
  8. jquery 实现 点击把数据移动右侧 点击再次移回到左侧
  9. 二叉排序树删除子节点以及遍历
  10. android 里程,鹰眼Android SDK | 百度地图API SDK
  11. Python gevent学习笔记 1
  12. python 的 virtualenv 环境搭建及 sublime 手动创建运行环境
  13. DKH大数据整体解决方案的优势介绍
  14. 基于Spring Cloud的微服务架构
  15. 如何提取左声道音频_TRS? TRRS? 正式录制前,您确保麦克风的音频线插对了吗?...
  16. 选LinuxMint Debian Edition作为俺的家用Linux了
  17. win10 更新 英特尔显示器音频 后显示器音箱没有声音
  18. 音视频开发入门基础及视频会议即时通讯开源技术选择
  19. c语言中结构体定义中的“冒号”
  20. 六度空间(广度优先遍历 · 数据结构 · 图)

热门文章

  1. 整理的游戏服务器架构资料
  2. JS向表格里添加数据
  3. HTML屏蔽右键屏蔽的一些简单易用的代码
  4. 初入大便( debian)
  5. Nginx停止服务和各种命令
  6. Git详细教程(五):查看分支、创建分支、合并分支
  7. 前端性能优化——如何提高页面加载速度?
  8. 计算机毕业设计ssm校内考研吧hd450系统+程序+源码+lw+远程部署
  9. Python round()函数的严谨用法
  10. Four Years, For You:技术学院四周年庆典圆满落幕