`
ganqing1234
  • 浏览: 168968 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

数据库事务的并发

阅读更多

(一) 事务并发可导致的问题

  事务并发大致可以导致一下几个问题:lost update、dirty read、uprepeatable read和phantom read。uprepeatable read还有个特例就是second lost updates problem,即是不同事务中后面的更新操作会覆盖之前事务的更新操作。uprepeatable read和phantom read的区别在于uprepeatable read是有数据更新造成的,而phantom read则是由于新插入数据造成的。

 

(二)数据库系统的锁的基本原理

  数据库本身会提供锁的机制:共享锁、独占锁。select会使事务获取共享锁而delete、insert、update则会使事务获取独占锁。两个事务同时获取共享锁然后执行更新操作即都想获取独占锁时,便会产生死锁。这种锁机制是数据库系统自带的,它会根据事务执行的sql语句,来自动为数据源上锁,它有以下几种颗粒度:

  1. 数据库级锁:锁定整个数据库;

  2. 表级锁: 锁定一张表;

  3. 区域级锁: 锁定数据库的特定区域;

  4. 页面级锁: 锁定特定的页面;

  5. 键值级锁: 锁定表中带有索引的一行数据;

  6. 行级锁: 锁定表中单行数据。

 

(三) 事务隔离级别

  锁控制并发的效果好,但是尽量不要显式的为数据库加锁,而应该首先让数据库自动管理锁。数据库的隔离级别提供了很好的支持。它有四种级别:

  1. serializable

  2. repeatable read

  3. read commited

  4. read uncommited

  在mysql里可以这样设置隔离级别:

// 单个链接
set transaction isolation level read commited;
// 数据库全局
set global transaction isolation level read commited;

  hibernate也可以在配置文件里设置:

hibernate.connection.isolation=2

  2 表示 read commited级别,其他的为:1 - read uncommitted、4 - repeatable read、8 - serialized

分享到:
评论

相关推荐

    软考系分之数据库事务并发与事务加锁

    内容概要:数据库事务并发与事务加锁; 使用场景:本资源主要用于辅助系统分析师的软考; 适用人群:系分备考者、产品、开发、测试等,也适用于有相关知识点学习兴趣的小伙伴; 其他:思维导图的方式介绍知识点,...

    数据库的并发控制 ppt 课件

    数据库的并发控制  数据库并发控制的含义  事务  并发控制的必要性 基于封锁的并发控制技术  基于时间戳的并发控制技术

    数据库并发处理控制 pdf

    8.1 并发控制概述 8.2 封锁 8.3 封锁协议 8.4 活锁和死锁 8.5 并发调度的可串行性 8.6 两段锁协议 8.7 封锁的粒度 8.8 Oracle的并发控制 8.9 小结

    数据库的事务处理与并发控制

    数据库处理的经典资料: 叫你处理事务 如何并发处理 瞧瞧吧 机不可失哟

    数据库并发控制机制——事务

    这是一个关于银行的数据库的处理,模仿的是从账户1转账给...那就需要用到事务,如果没有一起执行,就回滚。这个代码比较简单,希望对大家有帮助,自己建立一个数据库bank,在里面建立一个表Account,两属性:Id,money.

    数据库并发控制的基本方法

    讲述了数据库中的并发控制,包括事务处理,加锁机制,以及恢复,日志记录

    数据库思维导图——并发控制

    数据库思维导图——并发控制 并发控制 多事务执行方式 (1)事务串行执行 每个时刻只有一个事务运行,其他事务必须等到这个事务结束以后方能运行 不能充分利用系统资源,发挥数据库共享资源的...事务并发执行带来的问题

    《数据库原理》并发操作、串行调度

    一些常用的关于数据库并发操作、串行调度的习题及其答案。

    8、数据库安全性管理、数据库事务及并发控制.sql

    8、数据库安全性管理、数据库事务及并发控制.sql

    《实时数据库系统的并发控制方法》

    实时事务根据其功能分为三类:数据接收事务,控制事务和数据处理事务.这三类事务的并发性和原子性是不同的,针对这三类不同的事务采用不同的并发控制机制,提出了实时数据库事务并发控制的两种方法。

    论文研究 - 键值NoSQL数据库的冲浪并发事务处理模型

    本文提出了一个包含Redis的键值NoSQL数据库的事务模型,以使用户能够以ACID(原子性,一致性,隔离性和持久性)方式访问数据,该模型被生动地称为冲浪并发事务模型。 详细描述了体系结构,重要功能和实现原理。 还...

    数据库并发控制及SQL

    数据库并发控制及SQL 包含内容包括:数据库并发控制及SQL Server的并发控制机制 事务及并发控制的基本概念 封锁机制 SQL Server的并发控制机制 等等

    数据库的事务处理和并发控制

    当用户对数据库并发访问时,为了确保事务完整性和数据库一致性,需要使用锁定。事务和锁是两个紧密联系的概念。通过事务、批和锁的使用,还可以监测系统,以及优化物理数据库。作业是一种多步执行的任务。 本章主要...

    数据库中的事务管理,恢复以及并发控制技术.doc

    数据库中的事务管理,恢复以及并发控制技术的概述

    数据库事务分析

    事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。SQL Server提供了几种自动的可以通过编程...当用户对数据库并发访问时,为了确保事务完整性和数据库一致性,需要使用锁定

    33丨MySQL调优之事务:高并发场景下的数据库事务调优.html

    33丨MySQL调优之事务:高并发场景下的数据库事务调优.html

    Java And 数据库事务

    事务,并发,隔离级别,JTA 事务,EJB,BMT,CMT,Spring,异常处理 异常处理还没有整理。 内容80%抄袭

    浅谈数据库中事务处理和并发控制技术

    该文档主要浅谈了数据库事务处理和并发控制的技术,可以作为初学者的参考文档

    数据库恢复和并发控制

    掌握事务的概念及性质 掌握数据库恢复的基本技术和策略 1、了解并发操作可能产生的数据不一致性 2、掌握并发控制的技术:封锁机制、三级封锁协议、 活锁的避免、死锁的预防、诊断及解除 3、掌握并发调度的正确性...

Global site tag (gtag.js) - Google Analytics