当前位置:网站首页>数据库事务&锁机制
数据库事务&锁机制
2022-08-09 04:53:00 【魔人Majin Buu】
1 数据库事务
数据库事务就是一系列操作序列的集合,这些集合要么同时成功,要么同时失败
2 Oracle中的事务
2.1 手动提交事务
Oracle数据库中,增删改查语句就是事务的开始,没有特有的事务开始指令(mysql中开始事务的指令是begin)
commit指令用来提交
rollback指令用来回滚
以上操作完成就是一次事务的结束.
2.2 自动提交事务
当指定DDL语句时,事务自动提交.
用户关闭一次会话的时候会自动提交
系统崩溃或者断电时,会自动回滚事务.
2.3 savepoint
当一个操作序列中有很多条sql语句,但是只想让其中某些部分成功,某部分失败,此时可以使用savepoint.
此时就可以做到
3 事务的ACID属性
- 原子性(Atomicity) :
一个操作序列要么全成功,要么全失败,不可以被分割. - 一致性(Consistency ) :
就是数据底层存储的完成性,要由其他三个属性共同来保证.也就是数据不可以发生错乱.并且一致性是最重要的. - 隔离性(Isolation) :
各个事务之间不会产生影响,隔离性包含了四种隔离级别,严格的隔离级别会导致效率问题,在某些情况下,为了保证效率需要降低隔离级别. - 持久性(Durablity) :
所有数据必须持久化到存储介质中,保证系统在瘫痪后,数据不会丢失.
4 隔离级别
四种隔离级别:(严格程度越来越高)
1,读未提交
2,读已提交
3,可重复读
4,序列化
可能导致的问题:
1,脏读
2,不可重复读
3,幻读
4.1 关闭事务的自动提交
查看自动提交属性状态
select @@autocommit
4.2 设置事务隔离级别
4.3 设置全局事务隔离级别
5 锁机制
为了解决并发访问的时候数据不一致的问题,需要给数据枷锁,加锁的时候就涉及锁的力度问题.
数据库锁的分类
- 1,数据库
- 2,表
- 3,行
不同锁的区别
他们之间的效率是不同的,锁力度越小,效率越高,锁粒度越大,效率越低.
1,库锁:并发访问时候,同一时刻只能有一个请求对数据库进行访问,其他请求都要阻塞.
2,表锁:锁指定的表,其他请求就不能访问该表,但是还可以访问其他的表和行记录
3,行锁:只有锁住的行不可以被其他请求访问,其他行数据都可以进行访问
边栏推荐
- 软件测试的方法详细介绍
- 2022下半年深圳信息系统项目管理师认证招生简章
- 【HMS core】【Ads Kit】华为广告——海外应用在国内测试正式广告无法展示
- Harmony OS ets ArkUI 】 【 】 development create a view and building layout
- 【Harmony OS】【ARK UI】Date Basic Operation
- 【Harmony OS】【ARK UI】Lightweight Data Storage
- leetcode:402. 移掉 K 位数字
- 时序约束基础
- Construction and practice of full stack code test coverage and use case discovery system
- 【luogu U142356】Suffix of the Brave (SA) (Chairman Tree) (2 points)
猜你喜欢
ABP中的数据过滤器
单元测试覆盖率怎么算?
数字化时代,企业为什么需要商业智能BI
【Harmony OS】【ArkUI】ets开发 创建视图与构建布局
Harmony OS ets ArkUI 】 【 】 development create a view and building layout
EDI对接 New York & Company案例
Faced with risk control, what should Amazon do when evaluating self-supporting accounts?
杰理之一拖二 另一台手机超距 通话会无声【篇】
如何剪裁svg并压缩
抖音直播带货的4个技巧,提升直播间转化率!
随机推荐
【HMS Core】【FAQ】【AR Engine】AR Engine FAQ
【暑期每日一题】洛谷 P1216 [USACO1.5][IOI1994]数字三角形 Number Triangles
leetcode:316. 去除重复字母
"IP" command to configure network interface
JVM垃圾回收机制简介
安装pytorch和cuda
【Harmony OS】【ArkUI】ets开发 创建视图与构建布局
leetcode:315. 计算右侧小于当前元素的个数
杰理之电话打入,远端听不到声音【篇】
C进阶 - 程序的编译(预处理操作) + 链接
C进阶-C语言文件操作
2022年8月深圳产品经理认证招生简章(NPDP)
2022-08-08 mysql慢SQL-Q18-10GB数据量-mysql/innodb测试
JS-DOM--全局DOM对象document-history-location-navigator-screen-window
存储系统架构演变
Masked AutoEncoder论文及实现
【HMS core】【ML kit】Machine Learning Service FAQ
【HMS core】【Ads Kit】Huawei Advertising——Overseas applications are tested in China. Official advertisements cannot be displayed
2022下半年深圳信息系统项目管理师认证招生简章
[UNR #6 A] Noodle-based road (shortest path)