zoukankan      html  css  js  c++  java
  • Mysql的锁类型有哪些?

    mysql 有三种类型的锁

    • 表锁:开销小,加锁快,不会出现死锁

      指对一整张表加锁,一般是DDL处理时使用(比如Alter)。

      由Mysql Server实现,使用的是一次性锁技术,会话开始时使用lock命令将后需要用到的表加锁,后面通过unlock tables释放锁。

    • 行锁:开销大,加锁man,会出现死锁

      指锁定某一行或者某几行,或者行与行之间的间隙。由存储引擎实现,InnoDB支持行锁,但是myISam只能用mysql Server提供的表锁。

      ①update user set age = 10 where id = 49;
      ②update user set age = 10 where name = 'Tom';
      

      以上俩sql,①在主索引加锁,②在二级索引name加锁并再在主索引加锁,由此可见主索引只需要加一次锁,二级索引需要加两次锁。而多行加锁则会重复①或②的加锁流程。  

    • 页锁:开销大于表锁小于行锁,会出现死锁(暂不做解释)

    以上总结参考:https://mp.weixin.qq.com/s/liCIjDJYPONvPb1BWAqw0w、https://mp.weixin.qq.com/s/rtSdXR9GxPn39bFmmZVrnA

  • 相关阅读:
    作业
    函数
    集合及特殊集合
    VS2010中安装AjaxControlToolkit
    连接SQLServer OLEDB数据库(ACCESS) ODBC Oracle
    设置热键 默认焦距 提交时弹出确认信息
    显示长日期格式时间
    FileUpLoad控件
    按钮类型控件 选择类型控件
    Textbox服务器控件
  • 原文地址:https://www.cnblogs.com/smallzhen/p/14608696.html
Copyright © 2011-2022 走看看