当前位置:网站首页>数据库事务&锁机制
数据库事务&锁机制
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,行锁:只有锁住的行不可以被其他请求访问,其他行数据都可以进行访问
边栏推荐
- 区别如下概念:路径、绝对路径、相对路径、当前目录。系统磁盘上存在某个可执行文件,但在DOS环境输入其文件名却提示没有这个文件,是什么原因?
- 浅谈产品降本设计
- 杰理之SD卡切回蓝牙没有作用【篇】
- 【Harmony OS】【ARK UI】Lightweight Data Storage
- 后台登录模块以及验证码登录
- AttributeError: partially initialized module 'cv2' has no attribute 'gapi_wip_gst_GStreamerPipeline'
- `数学` 极限, 渐进分析, 近似阶, 线性化, 线性近似, 线性函数
- 【Harmony OS】【FAQ】Hongmeng Questions Collection 1
- php将在线远程文件写入临时文件
- Faced with risk control, what should Amazon do when evaluating self-supporting accounts?
猜你喜欢
leetcode:402. 移掉 K 位数字
MySQL: redo log log - notes for personal use
通讯录(文件版)(C语言)(VS)
【HMS core】【ML kit】Machine Learning Service FAQ
【Harmony OS】【FAQ】Hongmeng Questions Collection 1
供应商对接Chewy的EDI需求
基于ABP和Magicodes实现Excel导出操作
【Harmony OS】【ARK UI】轻量级数据存储
2022 High-altitude installation, maintenance, and demolition exam practice questions and mock exams
MySQL: Implementation Principles of Submitted Read and Repeatable Read | MVCC (Multi-Version Concurrency Control) - Notes for Your Own Use
随机推荐
Harmony OS ets ArkUI 】 【 】 the development basic page layout and data connection
杰理之SD卡切回蓝牙没有作用【篇】
【暑期每日一题】洛谷 P4325 [COCI2006-2007#1] Modulo
EDI对接 New York & Company案例
[21天学习挑战赛——内核笔记](四)——内核常见调试手段(printf、dump_stack、devmem)
无法通过头文件中的宏定义或全局变量修改动态库中的参数
C进阶-C语言文件操作
I.MX6U-ALPHA开发板(高精度定时器)
【Harmony OS】【ARK UI】Date Basic Operation
[Developers must see] [push kit] Collection of typical problems of push service service 2
[Harmony OS] [ARK UI] ETS context basic operations
【ITRA】2022年ITRA赛事注册流程 从0-1
pr22.5最新版下载地址
【Harmony OS】【ArkUI】ets开发 图形与动画绘制
还不了解什么是商业智能(BI)?看完这篇文章就懂了
单元测试覆盖率怎么算?
Pycharm社区版专业版下载安装环境配置【精细到每一个步骤】
Nacos源码安装
杰理之电话打入,远端听不到声音【篇】
杰理之采用mix out eq 没有作用【篇】