• ADADADADAD

    MySQL数据库中的锁有哪些类型[ mysql数据库 ]

    mysql数据库 时间:2024-11-29 09:52:15

    作者:文/会员上传

    简介:

    MySQL数据库中的锁有共享锁,排他锁,行锁,表级锁,行级锁以及页面锁。1、共享锁(Shared Lock,也叫S锁)共享锁(S)表示对数据进行读操作。因此多个事务可以同时为一个对象加共享锁。产

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    MySQL数据库中的锁有共享锁,排他锁,行锁,表级锁,行级锁以及页面锁。

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

    共享锁(S)表示对数据进行读操作。因此多个事务可以同时为一个对象加共享锁。

    产生共享锁的sql语句:

    select*fromad_planlockinsharemode;

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

    排他锁表示对数据进行写操作。如果一个事务对对象加了排他锁,其他事务就不能再给它加任何锁了。
    产生排他锁的sql语句:

    select*fromad_planforupdate;

    3、行锁(Row Lock)

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

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

    InnoDB行锁是通过给索引上的索引项加锁来实现的,这一点MySQL与Oracle不同,后者是通过在数据块中对相应数据行加锁来实现的。

    InnoDB这种行锁实现特点意味着:只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁!

    4、锁的密度

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

    (1)表级锁

    开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。

    (2)行级锁

    开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。

    (3)页面锁

    开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。

    MySQL数据库中的锁有哪些类型.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载