数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。

加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。

数据库锁出现的原因是为了处理并发问题,因为数据库是一个多用户共享的资源,当出现并发的时候,就会导致出现各种各样奇怪的问题,就像程序代码一样,出现多线程并发的时候,如果不做特殊控制的话,就会出现意外的事情,比如“脏“数据、修改丢失等问题。所以数据库并发需要使用事务来控制,事务并发问题需要数据库锁来控制,所以数据库锁是跟并发控制和事务联系在一起的。

【基本锁类型】

锁包括行级锁和表级锁、页级锁

行级锁
是一种排他锁,防止其他事务修改此行;行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。行级锁能大大减少数据库操作的冲突。其加锁粒度最小,但加锁的开销也最大。行级锁分为共享锁 和 排他锁。

数据库锁的分类(粒度,级别)相关推荐

  1. MySQL数据库的锁 --- 六种分类 - 14种锁详细介绍

    MySQL锁概述 锁是计算机协调多个进程或线程并发访问某一个资源的机制,在数据库中,除传统的计算资源(CPU.RAM.I/O)的争用以外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性 ...

  2. 事物的级别_面试官问:MySQL锁与事物隔离级别你知道吗?

    本文作者:何建辉(公众号:org_yijiaoqian) 点赞再看,养成习惯,微信搜一搜[一角钱小助手]关注更多原创技术文章. 本文 GitHub org_hejianhui/JavaStudy 已收 ...

  3. Mysql之数据库锁(表锁和行锁)详解

    1. 什么是锁? 锁是计算机协调多个进程或线程并发访问某一资源的机制. 在数据库中,除传统的计算资源(如CPU.RAM.I/O等)的争用以外,数据也是一种共享资源,如何保证数据并发访问的一致性.有效性 ...

  4. 面试官问:MySQL锁与事物隔离级别你知道吗?

    点赞再看,养成习惯,微信搜一搜[一角钱小助手]关注更多原创技术文章. 本文 GitHub org_hejianhui/JavaStudy 已收录,有我的系列文章. 前言 MySQL索引底层数据结构与算 ...

  5. 带你了解什么是MySQL数据库(八)数据库锁机制

    目录 数据库的锁机制 锁的分类 MySQL中的行级锁,表级锁,页级锁(粒度) 行级锁之共享锁与排他锁(级别) innodb存储引擎的锁机制 行级锁与表级锁区分 三种行锁算法 死锁问题 什么时候使用表锁 ...

  6. 数据库锁的概念与介绍

    数据库锁 锁的分类(使用方式划分) 悲观锁与乐观锁 悲观锁(Pessimistic Lock) 具有强烈的独占和排他特性.它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修 ...

  7. MySQL数据库锁详解

    目录 一.锁的分类 一.按照粒度分类 1.分类 2.代码操作 二.按照属性分类 1.共享锁 2.排他锁 3.代码操作 三.按照加锁方式分类 1.隐式的自动加锁 2.显示的加锁 四.按照算法分类 1.间 ...

  8. mysql 事物隔离界别_MySQL锁与事务隔离级别

    ------------恢复内容开始------------ 一.概述 1.锁的定义 锁是计算机协调多个进程或线程并发访问某一资源的机制. 在数据库中,除了传统的计算资源(如CPU.RAM.IO等)的 ...

  9. Java面试必问的MySQL锁与事务隔离级别

    前言 众所周知,事务和锁是mysql中非常重要功能,同时也是面试的重点和难点.本文会详细介绍事务和锁的相关概念及其实现原理,相信大家看完之后,一定会对事务和锁有更加深入的理解. 什么是事务 在维基百科 ...

  10. MySQL锁、事务隔离级别、MVCC机制详解、间隙锁、死锁等

    一. 简介 1. 锁定义 锁是计算机协调多个进程或线程并发访问某一资源的机制. 在数据库中,除了传统的计算资源(如CPU.RAM.I/O等)的争用以外,数据也是一种供需要用户共享的资源.如何保证数据并 ...

最新文章

  1. Linux安装卸载mysql
  2. bootstrap-table页码ALL显示为NAN
  3. php 字体问题,php – Scraping上的字体或Unicode问题[复制]
  4. Oracle性能监控脚本
  5. 27.Silverlight二维旋转+平面渐变+动画,模拟雷达扫描图之基本框架
  6. 别太把GitHub的Star当回事
  7. 对象构造函数的原型图
  8. 电影《你好,李焕英》进入全球票房榜前100
  9. 2005数据库结构显示收藏
  10. memcached群集
  11. STM32串口下载程序
  12. Nginx面试题总结大全
  13. cactiez mysql密码_CactiEZ中文解决方案+使用教程(1)
  14. python批量转换图片格式:JPEG到jpg
  15. 项目管理方法适用于战略规划吗?
  16. 大地坐标转换极坐标(球坐标)
  17. 【机器人学】机器人开源项目KDL源码学习:(5)KDL如何求解几何雅克比矩阵
  18. 大数据分析-考试复习
  19. su oracle和su - oracle的区别
  20. IP地址大全之IPV4版

热门文章

  1. 使用DFA算法对敏感词进行过滤
  2. 数据可视化发挥流程的价值——江汽物流数据监控平台建设经验
  3. global value supply chain白皮书
  4. 禁止查看网页源文件的代码
  5. Reinforcement Learning——Chapter 2 Multi-armed Bandits
  6. 【编译原理】语义分析S属性定义的自下而上计算
  7. LSD-slam算法原理
  8. HackingLab 脚本关
  9. 洛谷P1600 天天爱跑步
  10. 锐角三角形的一些结论及证明