旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

mysql数据库锁有哪些【MySQL教程】,mysql数据库,数据库锁

作者:搜教程发布时间:2019-12-01分类:MySQL教程浏览:43评论:0


导读:MySQL数据库中的锁有同享锁,排他锁,行锁,表级锁,行级锁以及页面锁。1、同享锁(SharedLock,也叫S锁)同享锁(S)示意对数据举行读操纵。因而多个事件...
MySQL数据库中的锁有同享锁,排他锁,行锁,表级锁,行级锁以及页面锁。

1、同享锁(Shared Lock,也叫S锁)

同享锁(S)示意对数据举行读操纵。因而多个事件能够同时为一个对象加同享锁。

发作同享锁的sql语句:

select * from ad_plan lock in share mode;

2、排他锁(Exclusive Lock,也叫X锁)

排他锁示意对数据举行写操纵。假如一个事件对对象加了排他锁,其他事件就不能再给它加任何锁了。
发作排他锁的sql语句:

 select * from ad_plan for update;

3、行锁(Row Lock)

对一行纪录加锁,只影响一条纪录。

平常用在DML语句中,如INSERT, UPDATE, DELETE等。

InnoDB行锁是经由过程给索引上的索引项加锁来完成的,这一点MySQL与Oracle差别,后者是经由过程在数据块中对响应数据行加锁来完成的。

InnoDB这类行锁完成特性意味着:只要经由过程索引前提检索数据,InnoDB才运用行级锁,不然,InnoDB将运用表锁!

4、锁的密度

依据锁的级别或密度来分别,MySQL有三种锁的级别:页级、表级、行级。

(1)表级锁

开支小,加锁快;不会涌现死锁;锁定粒度大,发作锁争执的几率最高,并发度最低。

(2)行级锁

开支大,加锁慢;会涌现死锁;锁定粒度最小,发作锁争执的几率最低,并发度也最高。

(3)页面锁

开支和加锁时候界于表锁和行锁之间;会涌现死锁;锁定粒度界于表锁和行锁之间,并发度平常。

以上就是mysql数据库锁有哪些的细致内容,更多请关注ki4网别的相干文章!

标签:mysql数据库数据库锁


欢迎 发表评论: