美文网首页
MySQL锁机制

MySQL锁机制

作者: xdlkc | 来源:发表于2017-08-02 23:36 被阅读14次

锁机制是数据库与文件系统最大的差别了,而不同的数据库,不同的引擎锁机制也有所不同,由于MySQL的MyISAM用的场景比较少,所以这里只介绍InnoDB的相关内容

事务

事务是数据库管理系统执行过程中的一个逻辑单元,有有限的操作序列组成

ACID特性

  1. 原子性

    事务作为一个整体被执行,包含在事务中的对数据库的操作要么全执行,要么全不执行

  2. 一致性

    事务应确保数据库的状态从一个一致的状态转变为另一个一致状态,一致状态指数据库中的数据应满足约束

  3. 隔离性

    多个事务并发执行时,一个事务执行不应影响其他事务的执行

  4. 持久性

    已被提交的事务对数据库的修改应该被永久保存到数据库中

事务的隔离级别

  1. read uncommited(dirty read)

    读未提交,事务可以看到其他事务更改了但是还没提交的数据,存在脏读(事务2读到了事务1修改但未提交的数据,后事务1撤销了修改,即修改不存在了)

  2. read commited

    读提交,事务可以看到在它执行时,其他事务已经提交的数据,允许不可重复读(执行两次相同的查询结果不一致),但不允许脏读

  3. repeatable read

    可重复读,同一个事务内,同一个请求,多次执行获得的记录是相同的,不能杜绝幻读(事务1修改了整表,事务2插入了一条新的数据,事务1发现新的数据没有被修改,产生幻觉)

  4. serializable

    解决了幻读,将锁施加在所有访问的数据上,最高级别的锁

为什么要先提到事务?首先要想清楚数据库的锁是干嘛的,就是为了避免多个事务并发执行修改或查询操作时导致数据库出现异常错误的而设置的方式,有了锁可以减少一些问题,比如幻读,脏读,但是不同的锁级别当然也不能解决所有的问题,所以要根据业务环境和表的结构灵活运用.
(未完)

相关文章

  • MySQL的锁机制

    MySQL锁简介 MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和...

  • MySQL的锁机制

    mysql的锁机制 1、MySQL锁的基本介绍 MyISAM:MySQL的表级锁有两种模式:表共享读锁(Table...

  • 共享 + 排他锁

    mysql锁机制分为表级锁和行级锁 ,mysql中行级锁中的共享锁与排他锁进行分享交流。 测试语法 begin; ...

  • 13.MySQL锁机制

    MySQL锁 相对于其他的数据库而言,MySQL的锁机制比较简单,最显著的特点就是不同的存储引擎支持不同的锁机制。...

  • MySQL学习

    MySQL锁概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。...

  • MySQL解锁与锁表

    MySQL锁概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。...

  • MySQL死锁及解决方案

    1 MySQL锁类型 1. MySQL常用存储引擎的锁机制 MyISAM和MEMORY采用表级锁(table-le...

  • MySQL表级锁和行级锁

    MySQL学习笔记(五):MySQL表级锁和行级锁 一:概述 相对其他数据库而言,MySQL的锁机制比较简单,其最...

  • MySQL锁机制漫谈(二)

    在MySQL锁机制漫谈(一)一文中,我们主要是探究了以下MySQL(主要是InnoDB)的锁的机制,但是我们平常经...

  • MySQL锁

    MySQL锁介绍 按照锁的粒度来说,MySQL主要包含三种类型(级别)的锁定机制: 全局锁:锁的是整个databa...

网友评论

      本文标题: MySQL锁机制

      本文链接:https://www.haomeiwen.com/subject/drkulxtx.html