查看“数据库控制”的源代码
←
数据库控制
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
https://www.bilibili.com/video/BV1hg411V7Bm/?p=96 === 1)数据库的控制功能 === [[文件:数据库的控制功能.png|无|缩略图|600x600像素]] [[文件:数据库的控制功能 2.png|无|缩略图|600x600像素]] √共享锁【S锁】 又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。 这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 √排他锁【X锁】 又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。 这保证了其他事务在T释放A上的锁之前不能再读取和修改A。 === 2)事务的性质 === 原子性:事务是原子的,要么做,要么都不做 一致性:事务执行的结果必须保证数据库从一个一致性状态变到另一个一致性状态(比如转账业务的对两个账户分别的扣钱和加钱操作) 隔离性:事务相互隔离。当多个事务并发执行时,任一事务的更新操作直到其成功提交的整个过程,对其它事务都是不可见的。 持久性:一旦事务成功提交,即使数据库崩溃,其对数据库的更新操作也永久有效。 === 考点1:共享锁和排他锁 === 假设事务T1对数据D1加了共享锁,事务T2对数据D2加了排它锁,那么()。 A、事务T2对数据D1加排它锁成功 B、事务T1对数据D2共享锁成功,加排它锁失败 C、事务T1对数据D2加排它锁或共享锁都成功 D、事务T1对数据D2加排它锁和共享锁都失败 √ 解析: A、T1对D1加了共享锁,其他事务可以再对D1加共享锁,但是不能再加排它锁 B、T2对D2加了排它锁,其他事务就不能再对D2加任何锁 C、错的,同B D、对,同B
返回至
数据库控制
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
Spring Boot 2 零基础入门
Spring Cloud
Spring Boot
设计模式之禅
VUE
Vuex
Maven
算法
技能树
Wireshark
IntelliJ IDEA
ElasticSearch
VirtualBox
软考
正则表达式
程序员精讲
软件设计师精讲
初级程序员 历年真题
C
SQL
Java
FFmpeg
Redis
Kafka
MySQL
Spring
Docker
JMeter
Apache
Linux
Windows
Git
ZooKeeper
设计模式
Python
MyBatis
软件
数学
PHP
IntelliJ IDEA
CS基础知识
网络
项目
未分类
MediaWiki
镜像
问题
健身
国债
英语
烹饪
常见术语
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息