目录结构: (1)锁机制概述 什么是锁,以及为什么使用锁和锁的运作? 锁定机制分类? 按封锁类型分类 按封锁的数据粒度分类 行级锁定 表级锁定 页级锁定 数据库事务机制。 什么叫事务?简称ACID。 事务引起的并发调度问题 理论上的事务的三级封锁协议 事务隔离级别 活锁与死锁的探究 活锁 死锁 (2 ...
分类:
数据库 时间:
2020-07-22 15:35:55
阅读次数:
69
1.三级封锁协议 一级封锁协议 事务在修改数据时必须先加X锁,在事务结束之后释放X锁。 这样可以解决丢失修改的问题。因为不能有两个事务同时修改同一个数据,所以不会有修改被覆盖的问题。 二级封锁协议 在一级的基础上,要求读取数据A之前必须加上S锁,读取A之后立即释放S锁。 这样可以解决读脏数据的问题。 ...
分类:
数据库 时间:
2020-05-09 09:18:12
阅读次数:
105
我们首先来简单了解一下事务:事务首先是定义一组操作集,这组操作集要么都做,要么都不做。 比如A向B转账100元,操作集为 (1)读取A账户金额 (2)A账户金额 - 100元 (3)读取B账户金额 (4)B账户金额 + 100元 如果这组操作集,没有都执行完,只执行了几条语句,就会导致数据库数据不一 ...
分类:
数据库 时间:
2020-04-01 19:08:22
阅读次数:
467
想知道mysql中的锁机制吗?想了解什么是二段锁与三级封锁协议吗?相信在这篇文章中你会找到答案.
分类:
数据库 时间:
2019-10-18 09:38:39
阅读次数:
122
git clone https://github.com/eakonzhao/Spike-system 打开 IDEA --> File --> New --> Open 打开pom.xml,然后让Maven将所需依赖都加载进来 将jdbc.properties中的数据库url、用户名和密码改成你自 ...
分类:
其他好文 时间:
2018-11-11 23:21:11
阅读次数:
173
一、事务并发调度的问题 三级封锁协议 可见,三级锁操作一个比一个厉害(满足高级锁则一定满足低级锁)。但有个非常致命的地方,一级锁协议就要在第一次读加x锁,直到事务结束。几乎就要在整个事务加写锁了,效率非常低。三级封锁协议只是一个理论上的东西,实际数据库常用另一套方法来解决事务并发问题。 二、隔离性级 ...
分类:
数据库 时间:
2018-05-30 10:48:21
阅读次数:
213
一直以来对数据库的事务隔离机制的理解总是停留在表面,其内容也是看一遍忘一边。这两天决定从原理上理解它,整理成自己的知识。查阅资料的过程中发现好多零碎的概念如果串起来足够写一本书,所以在这里给自己梳理一个脉络,具体的内容参考引文或在网上搜一下。由于平时接触最多的是MySQL,所以文章中某些部分是MySQL特有的特性,请读者注意。
数据库并发操作会引发的问题:
多个事务同时访问数据库时...
分类:
数据库 时间:
2014-08-22 19:47:19
阅读次数:
373