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

MySql事务隔离级别和锁简述

 
阅读更多

事务的特征ACID,即原子性、一致性、隔离性、持久性。

原子性保证一个事务为一个最小的单元,内部不可分割

一致性保证事务中的每个操作线程不可单独提交,成功则一起提交,不成功则事务回滚

隔离性保证不同事务间看到的数据视图相互独立,相互隔离(隔离级别可设置)

持久性保证事务提交后数据会持久的保存下来。

 

数据库隔离级别有四种——《高性能mysql》

另外还有一种情况:丢失更新(Lost Update),事务A和B都更新数据d1,A提交后B回滚了,这时A看到它的修改没有生效,丢失了。读未提交(read uncommitted)可以避免此类情况。

 

MySql的锁简述

根据类型可分为共享锁(SHARED LOCK)和排他锁(EXCLUSIVE LOCK)或者叫读锁(READ LOCK)和写锁(WRITE LOCK)。

根据粒度划分又分表锁和行锁。表锁由数据库服务器实现,行锁由存储引擎实现。

 

共享锁

共享锁的锁粒度是行或者元组(多个行)。一个事务获取了共享锁之后,可以对锁定范围内的数据执行读操作。 

排它锁

排它锁的粒度与共享锁相同,也是行或者元组。一个事务获取了排它锁之后,可以对锁定范围内的数据执行写操作。

 

假设有两个事务t1和t2

如果事务t1获取了一个元组的共享锁,事务t2还可以立即获取这个元组的共享锁,但不能立即获取这个元组的排它锁(必须等到t1释放共享锁之后)。

如果事务t1获取了一个元组的排它锁,事务t2不能立即获取这个元组的排共享锁,也不能立即获取这个元组的排它锁(必须等到t1释放排它锁之后)。

分享到:
评论

相关推荐

    简述MySql四种事务隔离级别

    在SQL标准中定义了四种隔离级别, 每一个事务中所做的修改,哪些在事务内和事务间是可见的,哪些是不可见的。较低级别的隔离通常可以执行更高的并发,系统的开销也更低。 下面简单地介绍一下四种隔离级别。 1.READ ...

    mysql简单简述锁机制

    MySQL的锁主要分为表级锁、行级锁和页面锁,不同存储引擎支持不同的锁类型。 表级锁是MySQL中最简单的锁机制,如MyISAM和MEMORY存储引擎采用的就是这种锁。表级锁在开销、加锁速度以及并发度上具有特定特点:开销小...

    Mysql面试题60个带答案

    ## 最全MySQL面试60题和答案 #### 1.Mysql中有哪几种锁? 1. 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。...支持ACID的事务,支持事务的四种隔离级别; 支持行级锁及外键

    MySQL进阶面试题,数据库三范式、数据库优化、索引有哪些种类、索引的工作机制、MySQL 的基础操作

    10.MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区 别?11.表中有大字段 X(例如:text 类型),且字段 X 不会经常更新,以读为 为主,将该字段拆成子表好处是什么?12.MySQL 中 InnoDB 引擎的行锁...

    深入理解MySQL核心技术__中文版

    6. **事务处理与并发控制**:介绍事务的概念,ACID属性(原子性、一致性、隔离性和持久性),以及事务的开始、提交、回滚和保存点。讲解锁定机制,如读锁(READ LOCK)、写锁(WRITE LOCK)和行级锁定。 7. **存储...

    简述MySQL与Oracle的区别

    Oracle还提供了更丰富的SQL功能,如事务的隔离级别和传播特性,这些在MySQL中可能并不完全支持。Oracle的这些高级特性使它在复杂的企业级应用中更具优势。 总的来说,MySQL因其开源、轻量级和易用性而受到中小型...

    简述Redis和MySQL的区别

    首先,MySQL 是一个关系型数据库管理系统(RDBMS),它遵循 ACID(原子性、一致性、隔离性和持久性)原则,提供了事务处理、复杂查询和结构化数据存储等功能。MySQL 数据库将数据存储在磁盘上,虽然支持索引加速查询...

    MySQL中文参考手册.rar

    用户将学习如何开启、提交和回滚事务,以及理解隔离级别和锁定机制。此外,还会讲解视图、存储过程和触发器的创建与使用,这些高级特性有助于提高代码的复用性和数据库的性能。 索引是提升查询速度的关键,手册会...

    知数堂MySQL DBA面试秘籍.zip

    1. 数据库概念:了解关系型数据库的基本原理,包括ACID属性(原子性、一致性、隔离性和持久性)。 2. SQL语言:掌握SQL语句,包括SELECT、INSERT、UPDATE、DELETE等,以及子查询、联接、视图、存储过程和触发器的...

    【BAT必备】MySQL面试题

    - **事务隔离级别**:READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLE。 **问题示例**:“解释ACID特性。” #### 8. 分区 分区是一种将大表物理分割成多个小块的技术。 - **范围分区**:根据...

    简述MySQL InnoDB存储引擎

    它提供了四种事务隔离级别,以满足不同场景的需求。 - **行级锁定**:与MyISAM的表级锁定相比,InnoDB支持行级锁定,这大大减少了在并发环境中发生锁定冲突的可能性,提高了多用户环境下的性能。 - **外键支持**:...

    网易技术部MySQL中文资料

    - 说明了不同的事务隔离级别如何影响并发插入操作。 - **13.7 如何减少锁冲突** - 提供了一系列减少锁竞争的策略。 **第14章 优化MySQL Server** - **14.1 查看MySQL server当前参数** - 指导如何使用`SHOW ...

    2024年java面试题-数据库MySQL面试题第三部分

    #### 六、MySQL事务的四种隔离级别及其特点 - **读未提交(RU)**:一个事务尚未提交时,它所做的更改即可被其他事务查看。 - **读提交(RC)**:一个事务提交后,它所做的更改才会被其他事务看到。 - **可重复读...

Global site tag (gtag.js) - Google Analytics