已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Postgres事物处理与并发控制 Postgres事物处理与并发控制 事物与锁 1.基本概念(略) 2.目的: 事务是用来保证数据的一致(integrity )。 锁是保证数据的并发(控制多个事务的并发)( concurrency )。 3.事务与锁的关系: 锁的级别太高,可能会影响数据库的并发。锁的级 别越低一般来说数据库的并发越好。 Postgres事物处理与并发控制 事务隔离等级 在数据库操作中,为了有效保证并发操作的 正确性,提出了事务隔离等级的概念。 事务隔离等级就是为了同时解决一致性和并 发的问题而存在的,SQL标准中定义了四种隔离 等级,分别是串行化(SERIALIZABLE)、可重 复读(REPEATABLE READ)、读已提交( READ COMMITED)和读未提交(READ UNCOMMITED)四个等级。四个等级并发性能 依次升高,隔离度依次降低。 Postgres事物处理与并发控制 Postgres默认事务隔离等级是read- committed,可以通过SET TRANSACTION语 句来设置当前事务的隔离级别,注意,该语 句仅对当前事务有影响。如果要修改一个回 话(session)的事务隔离级别,可以通过 SET SESSION CHARACTERISTICS语句来修改 回话中所有事务的隔离级别。SET TRANSACTION可以覆盖SET SESSION CHARACTERISTICS语句,只作用于当前 transaction. Postgres事物处理与并发控制 并发操作带来的数据库不一致性可以分为四类:丢失或覆 盖更新、脏读、不可重复读和幻像读。 读污染(dirty reads) 一个事务读取了被另一个未提交的并行的事务写的数据。 不可重复的读(non-repeatable reads) 一个事务重新读取前面读取过的数据,发现该数据已经被 另一个已提交的事务修改过。 错误读取(phantom read) 一个事务重新执行一个查询,返回一套符合查询条件的行 ,发现这些行中插入了被其他已提交的事务提交的行。 这四种隔离级别和对应的特性在下面描述。 Postgres事物处理与并发控制 (1)丢失或覆盖更新 当两个或多个事务选择同一数据,并且基于最初 选定的值更新该数据时,会发生丢失更新问题。 每个事务都不知道其它事务的存在。最后的更新 将重写由其它事务所做的更新,这将导致数据丢 失。上面预定飞机票的例子就属于这种并发问题 。事务1与事务2先后读入同一数据A=16,事务1 执行A-1,并将结果A=15写回,事务2执行A-1, 并将结果A=15写回。事务2提交的结果覆盖了事 务1对数据库的修改,从而使事务1对数据库的修 改丢失了。 Postgres事物处理与并发控制 丢失或覆盖更新例子 Postgres事物处理与并发控制 (2)脏读 一个事务读取了另一个未提交的并行事务写的数 据。当第二个事务选择其它事务正在更新的行时 ,会发生未确认的相关性问题。第二个事务正在 读取的数据还没有确认并且可能由更新此行的事 务所更改。换句话说,当事务1修改某一数据,并 将其写回磁盘,事务2读取同一数据后,事务1由 于某种原因被撤销,这时事务1已修改过的数据恢 复原值,事务2读到的数据就与数据库中的数据不 一致,是不正确的数据,称为脏读。 Postgres事物处理与并发控制 脏读例子 Postgres事物处理与并发控制 (3)不可重复读 一个事务重新读取前面读取过的数据,发 现该数据已经被另一个已提交的事务修改 过。即事务1读取某一数据后,事务2对其 做了修改,当事务1再次读数据时,得到的 与第一次不同的值。 Postgres事物处理与并发控制 不可重复读例子 Postgres事物处理与并发控制 (4)幻像读 如果一个事务在提交查询结果之前,另一个事务 可以更改该结果,就会发生这种情况。这句话也 可以这样解释,事务1按一定条件从数据库中读取 某些数据记录后未提交查询结果,事务2删除了其 中部分记录,事务1再次按相同条件读取数据时, 发现某些记录神秘地消失了;或者事务1按一定条 件从数据库中读取某些数据记录后未提交查询结 果,事务2插入了一些记录,当事务1再次按相同 条件读取数据时,发现多了一些记录。 Postgres事物处理与并
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人工智能与保险法规融合
- 2026年黑龙江农垦职业学院高职单招职业技能考试题库(有一套)附答案详解
- 2026年江西省抚州市单招职业技能考试模拟试卷及参考答案详解(完整版)
- 2025年祁连专修学院高职单招职业适应性测试考试模拟试卷汇编附答案详解
- 2026年秋季高中新生军训 障碍训练与勇气培养
- 2024年陕西黄河文化职业学院高职单招职业适应性测试考试题库附完整答案详解(夺冠系列)
- 2026年眉山药科职业学院高职单招职业适应性测试考试模拟试卷及参考答案详解【完整版】
- 2026年新能源电动汽车动力电池创新展望报告
- 2024年武汉城市职业学院高职单招职业适应性测试考试模拟试卷含答案详解【巩固】
- 2024年国防工业职业技术学院高职单招职业适应性测试考试题库附答案详解(综合卷)
- 2026年度隐患排查治理安全生产排查治理情况报告
- T-CI 1211-2025 地热资源地质专项勘察技术规程
- 浙江省浙东北ZDB联盟2025-2026学年高一上学期11月期中联考数学试题
- 2026年福建高考物理试题+解析
- 中医药防治静脉血栓技术指南
- 2025年湖北省(就业援藏)面向山南籍高校毕业生专项公开招聘事业单位工作人员笔试历年典型考题(历年真题考点)解题思路附带答案详解
- GB/T 6104.1-2025工业车辆术语第1部分:工业车辆类型
- 成都职业技术学院2025年四季度编制外公开(考核)招聘28名高层次人才考试笔试备考题库及答案解析
- 模块概述《英语专业导论》教案(2025-2026学年)
- 伺服压力机安全操作规程
- 2025年康达专转本护理题库及答案
评论
0/150
提交评论