美文网首页
mysql数据库锁

mysql数据库锁

作者: 汪梓文 | 来源:发表于2017-06-15 11:36 被阅读0次

    共享锁(读锁)

    共享锁语句:

    select * from tableName lock in share mode
    加入共享锁后,别的线程可以访问结果集,但不能对结果集使用排它锁(写锁),同理如果以使用排它锁(写锁),就会被阻塞。被加入共享锁后所有线程访问的都是同一个版本的数据。

    排它锁(写锁)

    排它锁语句:

    select * from tableName for update
    加入排它锁后,别的线程不能再对当前结果集添加任何类型的锁。同理如果数据集以实现排它锁,就会被阻塞。

    意向锁(有大神在解释的详细点吗)

    排它锁语句:

    别看了意向锁是InnoDB自动加的。
    意向共享锁(IS):表示事务准备给数据行加入共享锁,也就是说一个数据行加共享锁前必须先取得该表的IS锁
    意向排他锁(IX):类似上面,表示事务准备给数据行加入排他锁,说明事务在一个数据行加排他锁前必须先取得该表的IX锁。
    InnoDB行锁是通过给索引项加锁来实现的,即只有通过索引条件检索数据,InnoDB才使用行级锁,否则将使用表锁!

    相关文章

      网友评论

          本文标题:mysql数据库锁

          本文链接:https://www.haomeiwen.com/subject/jcmyqxtx.html