zoukankan      html  css  js  c++  java
  • Mysql 锁机制

    表锁 Myisam引擎(表级)

    读锁定时,不能写, 写锁定A表时,其他session不能读和写A表

      读锁session-1 只能查A表,不能查其他B表

                  session-2 写阻塞,能查询所有表

      写锁session-1 能改A表, 不能查其他表

        session-2 不能查A表,更加不能写操作.

    lock tables 表名 read|write; 

    unlock 表名

    行锁 InnerDB引擎(行级)

         无索引引发的表锁

         间隙锁的危害,使用范围检索数据,InnoDB会给符合条件的记录索引枷锁,对于键值范围内但并不存的记录,叫间隙锁

        危害:Query时,范围内的所有索引值被锁, 间隙值行记录会被阻塞

      

     分析行锁

     show status like 'innodb_row_lock%';

    **_current_waits:当前正在等待锁定的数量 和

    **_time 等待的总时长

    **_time_avg 等待平均时长

    **_time_max 等待最长的一次所花时间

    **_waits: 系统启动后到现在的总共等待次数

    如何锁定一行?

    begin

    select * from tables where *** for update;

    commit;

    页锁

  • 相关阅读:
    LeetCode
    LeetCode
    控制反转(Ioc)
    KMP算法
    *&m与m的区别
    函数指针与函数指针数组的使用方法
    C++四种类型转换
    内存分配:堆内存,栈内存
    汇编 基础
    i++,++i 作为参数
  • 原文地址:https://www.cnblogs.com/eason-d/p/9221831.html
Copyright © 2011-2022 走看看