




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Postgres事物处理与并发控制,Postgres事物处理与并发控制,事物与锁1.基本概念(略)2.目的:事务是用来保证数据的一致(integrity)。锁是保证数据的并发(控制多个事务的并发)(concurrency)。3.事务与锁的关系:锁的级别太高,可能会影响数据库的并发。锁的级别越低一般来说数据库的并发越好。,Postgres事物处理与并发控制,事务隔离等级在数据库操作中,为了有效保证并发操作的正确性,提出了事务隔离等级的概念。事务隔离等级就是为了同时解决一致性和并发的问题而存在的,SQL标准中定义了四种隔离等级,分别是串行化(SERIALIZABLE)、可重复读(REPEATABLEREAD)、读已提交(READCOMMITED)和读未提交(READUNCOMMITED)四个等级。四个等级并发性能依次升高,隔离度依次降低。,Postgres事物处理与并发控制,Postgres默认事务隔离等级是read-committed,可以通过SETTRANSACTION语句来设置当前事务的隔离级别,注意,该语句仅对当前事务有影响。如果要修改一个回话(session)的事务隔离级别,可以通过SETSESSIONCHARACTERISTICS语句来修改回话中所有事务的隔离级别。SETTRANSACTION可以覆盖SETSESSIONCHARACTERISTICS语句,只作用于当前transaction.,Postgres事物处理与并发控制,并发操作带来的数据库不一致性可以分为四类:丢失或覆盖更新、脏读、不可重复读和幻像读。读污染(dirtyreads)一个事务读取了被另一个未提交的并行的事务写的数据。不可重复的读(non-repeatablereads)一个事务重新读取前面读取过的数据,发现该数据已经被另一个已提交的事务修改过。错误读取(phantomread)一个事务重新执行一个查询,返回一套符合查询条件的行,发现这些行中插入了被其他已提交的事务提交的行。这四种隔离级别和对应的特性在下面描述。,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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师招聘之《小学教师招聘》题库练习备考题含答案详解(a卷)
- 押题宝典教师招聘之《幼儿教师招聘》考试题库附答案详解【突破训练】
- 2025内蒙古呼伦贝尔扎兰屯市综合类岗位“校园引才”37人笔试备考附答案详解(突破训练)
- 教师招聘之《小学教师招聘》考前冲刺试卷含答案详解【研优卷】
- 知识分享与在线教育社交平台创新创业项目商业计划书
- 2025年教师招聘之《幼儿教师招聘》押题练习试卷及答案详解【夺冠系列】
- 汽车海外市场推广创新创业项目商业计划书
- 票务系统应用创新创业项目商业计划书
- 2025年教师招聘之《小学教师招聘》题库必刷100题(考点精练)附答案详解
- 2025年教师招聘之《小学教师招聘》试卷及参考答案详解(培优)
- 《农业科技创新政策》课件
- GB/T 2684-2025铸造用砂及混合料试验方法
- 初中地理跨学科主题学习课程设计及特征研究
- 消防专职招聘笔试题及答案
- 超声科报告书写规范及审核制度
- 助贷电销知识培训课件
- 岩棉板活动板房施工方案
- 电气火灾消防安全教育
- 2025年养老院食堂食品供应协议
- 智研咨询发布-2025年中国军事通信行业产业链全景分析及发展趋势预测报告
- 消防工程劳务分包合同模板
评论
0/150
提交评论