mysql 高级 数据库锁

是什么?
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算机资源的征用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库极为重要。

锁的分类:

  1. 从对数据库操作的类型(读|写)分
    *读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响。
    *写锁(排它锁):当前写操作没有完成前,它会阻断其他写锁和读锁

  2. 从对数据库操作的粒度分: 表锁 | 行锁

表锁(偏读)
特点:偏向MYISAM存储引擎,开销小,加锁快:锁定粒度大。发生锁冲突概率最高,并发度低。

给表添加锁和解锁
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
行锁(偏写)
特点:偏向InnoDB存储引擎,开销大,加锁慢,会出现死锁,锁定粒度小,发生锁冲突的概率最低,并发度也最高。

InnoDB与MYISAM的最大不同有两点:一是支持事务;二是采用行级锁

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

										***帅气的远远啊***
发布了61 篇原创文章 · 获赞 50 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41585840/article/details/104104595