数据库锁的分类(粒度,级别)
数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。
加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。
数据库锁出现的原因是为了处理并发问题,因为数据库是一个多用户共享的资源,当出现并发的时候,就会导致出现各种各样奇怪的问题,就像程序代码一样,出现多线程并发的时候,如果不做特殊控制的话,就会出现意外的事情,比如“脏“数据、修改丢失等问题。所以数据库并发需要使用事务来控制,事务并发问题需要数据库锁来控制,所以数据库锁是跟并发控制和事务联系在一起的。
【基本锁类型】
锁包括行级锁和表级锁、页级锁
行级锁
是一种排他锁,防止其他事务修改此行;行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。行级锁能大大减少数据库操作的冲突。其加锁粒度最小,但加锁的开销也最大。行级锁分为共享锁 和 排他锁。
数据库锁的分类(粒度,级别)相关推荐
- MySQL数据库的锁 --- 六种分类 - 14种锁详细介绍
MySQL锁概述 锁是计算机协调多个进程或线程并发访问某一个资源的机制,在数据库中,除传统的计算资源(CPU.RAM.I/O)的争用以外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性 ...
- 事物的级别_面试官问:MySQL锁与事物隔离级别你知道吗?
本文作者:何建辉(公众号:org_yijiaoqian) 点赞再看,养成习惯,微信搜一搜[一角钱小助手]关注更多原创技术文章. 本文 GitHub org_hejianhui/JavaStudy 已收 ...
- Mysql之数据库锁(表锁和行锁)详解
1. 什么是锁? 锁是计算机协调多个进程或线程并发访问某一资源的机制. 在数据库中,除传统的计算资源(如CPU.RAM.I/O等)的争用以外,数据也是一种共享资源,如何保证数据并发访问的一致性.有效性 ...
- 面试官问:MySQL锁与事物隔离级别你知道吗?
点赞再看,养成习惯,微信搜一搜[一角钱小助手]关注更多原创技术文章. 本文 GitHub org_hejianhui/JavaStudy 已收录,有我的系列文章. 前言 MySQL索引底层数据结构与算 ...
- 带你了解什么是MySQL数据库(八)数据库锁机制
目录 数据库的锁机制 锁的分类 MySQL中的行级锁,表级锁,页级锁(粒度) 行级锁之共享锁与排他锁(级别) innodb存储引擎的锁机制 行级锁与表级锁区分 三种行锁算法 死锁问题 什么时候使用表锁 ...
- 数据库锁的概念与介绍
数据库锁 锁的分类(使用方式划分) 悲观锁与乐观锁 悲观锁(Pessimistic Lock) 具有强烈的独占和排他特性.它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修 ...
- MySQL数据库锁详解
目录 一.锁的分类 一.按照粒度分类 1.分类 2.代码操作 二.按照属性分类 1.共享锁 2.排他锁 3.代码操作 三.按照加锁方式分类 1.隐式的自动加锁 2.显示的加锁 四.按照算法分类 1.间 ...
- mysql 事物隔离界别_MySQL锁与事务隔离级别
------------恢复内容开始------------ 一.概述 1.锁的定义 锁是计算机协调多个进程或线程并发访问某一资源的机制. 在数据库中,除了传统的计算资源(如CPU.RAM.IO等)的 ...
- Java面试必问的MySQL锁与事务隔离级别
前言 众所周知,事务和锁是mysql中非常重要功能,同时也是面试的重点和难点.本文会详细介绍事务和锁的相关概念及其实现原理,相信大家看完之后,一定会对事务和锁有更加深入的理解. 什么是事务 在维基百科 ...
- MySQL锁、事务隔离级别、MVCC机制详解、间隙锁、死锁等
一. 简介 1. 锁定义 锁是计算机协调多个进程或线程并发访问某一资源的机制. 在数据库中,除了传统的计算资源(如CPU.RAM.I/O等)的争用以外,数据也是一种供需要用户共享的资源.如何保证数据并 ...
最新文章
- Linux安装卸载mysql
- bootstrap-table页码ALL显示为NAN
- php 字体问题,php – Scraping上的字体或Unicode问题[复制]
- Oracle性能监控脚本
- 27.Silverlight二维旋转+平面渐变+动画,模拟雷达扫描图之基本框架
- 别太把GitHub的Star当回事
- 对象构造函数的原型图
- 电影《你好,李焕英》进入全球票房榜前100
- 2005数据库结构显示收藏
- memcached群集
- STM32串口下载程序
- Nginx面试题总结大全
- cactiez mysql密码_CactiEZ中文解决方案+使用教程(1)
- python批量转换图片格式:JPEG到jpg
- 项目管理方法适用于战略规划吗?
- 大地坐标转换极坐标(球坐标)
- 【机器人学】机器人开源项目KDL源码学习:(5)KDL如何求解几何雅克比矩阵
- 大数据分析-考试复习
- su oracle和su - oracle的区别
- IP地址大全之IPV4版