一.事务中的锁

1.啥是锁?

顾名思义,锁就是锁定的意思

2.锁的作用是什么?

在事务ACID的过程中,‘锁’和‘隔离级别’一起来实现‘I’隔离性的作用

3.锁的种类

共享锁:保证在多事务工作期间,数据查询不会被阻塞。

排他锁:保证在多事务工作期间,数据的一致性

上面两实现隔离性

乐观锁

悲观锁

4.多版本并发控制(MVCC)

只阻塞修改类操作,不阻塞查询类操作。乐观锁机制,谁先提交谁为准

5.锁的粒度

MyIsam:低并发锁(表级锁)
Innodb:高并发锁(行级锁)

6.事务的隔离级别

  a( READ UNCOMMITTED(独立提交)

  允许事务查看其他事务所进行的未提交更改

  b( READ COMMITTED(处理脏读 幻读)

  允许事务查看其他事务所进行的已提交更改

  c( REPEATABLE READ (处理重复读)

  确保每个事务的 SELECT 输出一致

  d( SERIALIZABLE

  将一个事务的结果与其他事务完全隔离

7.查看事务隔离级别

mysql> show variables like '%iso%';

8.修改隔离级别

[mysqld]
transaction_isolation=read-uncommit

MySQL学习【第十二篇事务中的锁与隔离级别】的更多相关文章

  1. 从.Net到Java学习第十二篇——SpringBoot+JPA提供跨域接口

    从.Net到Java学习系列目录 最近又撸了半个月的前端代码,做app离线存储,然后又花了一周去将过去的wcf项目转webapi,java又被落下了,总感觉我特么像斗地主中的癞子牌,变来变去..... ...

  2. mysql概要(十二)事务

    1.特性 2.开启结束取消事务:需要选择支持事务的引擎 3,隐式提交事务: 4.事务的隔离级别:

  3. MySQL学习笔记十二:数据备份与恢复

    数据备份 1.物理备份与逻辑备份 物理备份 物理备份就是将数据库的数据文件,配置文件,日志文件等复制一份到其他路径上,这种备份速度一般较快,因为只有I/O操作.进行物理备份时,一般都需要关闭mysql ...

  4. R语法学习 第十二篇:因子

    因子(factor)是R语言中比较特殊的一个类型, 它是一个用于存储类别的类型,因子的行为有时像字符串,有时像整数.因子也是一个向量,每个元素都是字符类型.因子具有因子水平(Levels),用于限制因 ...

  5. Python 学习 第十二篇:pandas

    pandas是基于NumPy构建的模块,含有使数据分析更快更简单的操作工具和数据结构,最常用的数据结构是:序列Series和数据框DataFrame,Series类似于numpy中的一维数组,类似于关 ...

  6. Mysql学习之十二:JDBC连接数据库之DriverManager方法

    JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包括7个步骤: 1.载入JDBC驱动程序: 在连接数据库之前.首先要载入想要连接的数据库的驱动到JVM(Java虚拟机). 这通过java.l ...

  7. mysql学习(十二)内置函数

    常用的内置函数,常用select\ 字符串函数 contat('' , '', .....) //连接字符串 select concat(name, ' age is ', age) from per ...

  8. Python学习第十二篇——切片的使用

    Python中使用函数切片可以创建副本,保留原本.现在给出如下代码 magicians_list = ['mole','jack','lucy'] new_lists = [] def make_gr ...

  9. MySQL学习笔记(十二)__连接查询(一)

    连接查询含义:又称多表查询,当查询的字段来自多个表时,就会用到连接查询 笛卡尔乘积现象:表1 有 m 行,表2 有 n 行,结果 = m*n 行发生原因:没有有效的连接条件如何避免:添加有效的连接条件 ...

随机推荐

  1. Springmvc和Mybatis中常用的注解

    使用注解来构造IoC容器 用注解来向Spring容器注册Bean.需要在applicationContext.xml中注册<context:component-scan base-package ...

  2. Informatica 9.5安装部署

    Informatica  结构 1个或多个资源库(Respository) PowerCenter数据整合引擎是基于元数据驱动的,提供了基于数据驱动的元数据知识库(Repository),该元数据知识 ...

  3. 基于bootstrap的模态框的comfirm弹窗

    完成的效果如下: html代码如下: <button id="btn">点击弹出弹框</button> <!-- 弹出框 --> <div ...

  4. VS2017配置cuda9.1编译不过问题。

    #if defined(_WIN32) #if _MSC_VER < 1600 || _MSC_VER > 1920 #error -- unsupported Microsoft Vis ...

  5. 「BZOJ3226」[Sdoi2008]校门外的区间

    题目 首先是开闭区间的处理,我们把\(1.5\)这种数加进来,用\([1.5,6]\)来表示\((2,6]\) 根据离散数学的基本知识,尝试把五个操作转化成人话 把\([x,y]\)变成\(1\) 把 ...

  6. 1、RabbitMQ入门

    RabbitMQ 可以参考官网进行学习! 开发语言:Erlang – 面向并发的编程语言. AMQP:是消息队列的一个协议. mysql 是 java 写的吗?不是 那么 java 能不能访问?可以, ...

  7. 在Windows 10中更改网络连接优先级

    查看接口列表 (也可使用 如下) 选择网络连接,然后单击右侧的箭头以更改网络连接优先级.  可以参考之前的部分 链接在此 更改单个wi-fi连接顺序可以使用如下

  8. [Python 多线程] threading.local类 (六)

    在使用threading.local()之前,先了解一下局部变量和全局变量. 局部变量: import threading import time def worker(): x = 0 for i ...

  9. virtualbox+vagrant学习-4-Vagrantfile-9-Vagrant Settings

    Vagrant Settings 配置命名空间:config.vagrant config.vagrant配置将修改vagrant本身的行为 Available Settings可用设置 config ...

  10. list详解

    #include <iostream> #include <vector> #include <list> std::list<std::string> ...