zoukankan      html  css  js  c++  java
  • MySQL Shared and Exclusive Locks

    官方文档

    InnoDB implements standard row-level locking where there are two types of locks, shared (S) locks and exclusive (X) locks.

    • A shared (S) lock permits the transaction that holds the lock to read a row.

    • An exclusive (X) lock permits the transaction that holds the lock to update or delete a row.

    If transaction T1 holds a shared (S) lock on row r, then requests from some distinct transaction T2 for a lock on row r are handled as follows:

    • A request by T2 for an S lock can be granted immediately. As a result, both T1 and T2 hold an S lock on r.

    • A request by T2 for an X lock cannot be granted immediately.

    If a transaction T1 holds an exclusive (X) lock on row r, a request from some distinct transaction T2 for a lock of either type on r cannot be granted immediately. Instead, transaction T2 has to wait for transaction T1 to release its lock on row r.

     shared  lock

    A kind of lock that allows other transactions to read the locked object, and to also acquire other shared locks on it, but not to write to it. 

    exclusive lock

    A kind of lock that prevents any other transaction from locking the same row. Depending on the transaction isolation level, this kind of lock might block other transactions from writing to the same row, or might also block other transactions from reading the same row. The default InnoDB isolation level, REPEATABLE READ, enables higher concurrency by allowing transactions to read rows that have exclusive locks, a technique known as consistent read.

  • 相关阅读:
    MySQL-存储过程
    MySQL-触发器
    MySQL自学笔记
    arrayList和LinkedList区别
    RecyclerView和ListView比较
    【二叉树遍历】必知方式
    进程与线程的区别
    【单例模式】java实现
    【斐波那契数列】java探究
    replugin插件化,插件转场动画失效的问题解决
  • 原文地址:https://www.cnblogs.com/xxoome/p/10836870.html
Copyright © 2011-2022 走看看