在调用存储过程中,就会涉及到表锁,行锁这一概念:所谓区别:有索引的时候就是行锁,没有索引的时候就是表索。

innodb 的行锁是在有索引的情况下,没有索引的表是锁定全表的.

表锁演示(无索引)

Session1:

Session2:

mysql> update innodb_test set name='sjis' where id = 1 ;

处于等待状态....

再回到session1 commit以后,session2就出来结果了(锁定了8秒,过了8秒左右才去session1提交)。

mysql> update innodb_test set name='sjis' where id = 1 ;

Query OK, 1 row affected (8.11 sec)

Rows matched: 1 Changed: 1 Warnings: 0

实验结果是:我在session1的for update 操作看似只锁定ID为2的行其实锁定了全表,以至于后面session2的对ID为1的行update 需要等待Session1锁的释放。

行锁演示(索引为ID)

Session1:

Session2:

实验结果:这次的锁定是锁定的行,所以没有被锁定的行(ID不为2的行)可以进行update..

行锁mysql怎么执行_Mysql调用什么情况会用到行锁与表锁相关推荐

  1. mysql隐藏密码_MySQL在Linux系统中隐藏命令行中的密码的方法

    在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?, ...

  2. mysql in 截断_MySQL十进制字段’数据在第1行的第x列被截断’问题

    我有一个带小数(16,2)字段的mysql表.看起来像使用另一个十进制(16,2)字段字符串的加法操作可能会导致第1行问题的列x截断数据,这会在我的django项目中引发异常. 我知道该字段的乘法或除 ...

  3. mysql 分段执行_mySql 分段查询

    准备: 创建一个成绩表 Create table grade (id integer, score integer); 插入数据(只有id每次加一,score是1到100的随机数,java生成): p ...

  4. mysql 视图 分页_mysql查看所有存储过程,函数,视图,触发器,表,分页

    查询数据库中的存储过程和函数 方法一: select `name` from mysql.proc where db = 'your_db_name' and `type` = 'PROCEDURE' ...

  5. mysql 表级别的锁和行级别的_MySQL 表锁和行锁机制

    案例分析 目前,MySQL常用的存储引擎是InnoDB,相对于MyISAM而言.InnoDB更适合高并发场景,同时也支持事务处理.我们通过下面这个案例(坑),来了解行锁和表锁. 业务:因为订单重复导入 ...

  6. mysql 查看锁表日志_MYSQL 表锁情况查看

    查看锁表情况 mysql> show status like 'Table%'; +----------+--–+ | Variable_name | Value | +----------+- ...

  7. Mysql之数据库锁(表锁和行锁)详解

    1. 什么是锁? 锁是计算机协调多个进程或线程并发访问某一资源的机制. 在数据库中,除传统的计算资源(如CPU.RAM.I/O等)的争用以外,数据也是一种共享资源,如何保证数据并发访问的一致性.有效性 ...

  8. 彻底搞懂MySQL表锁、行锁和叶锁

    按照锁的粒度划分:行锁.表锁.页锁 行锁 行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁.可能会出现死锁的情况 共享锁用法(Shared Locks 简称S锁 读锁): 若事 ...

  9. mysql三锁,mysql锁机制之表锁(三)

    顾名思义,表锁就是一锁锁一整张表,在表被锁定期间,其他事务不能对该表进行操作,必须等当前表的锁被释放后才能进行操作.表锁响应的是非索引字段,即全表扫描,全表扫描时锁定整张表,sql语句可以通过执行计划 ...

最新文章

  1. 如何保证两个不同宽高的canvas用同一组坐标正常显示_如何1人5天开发完3D数据可视化大屏 【一】...
  2. [Ubuntu] 启动gvim时,怎样设置一个项目的文件为打开状态
  3. 12 个最佳的免费网络监控工具--转载
  4. 【盘点2018】社交领域投融资报告来了!
  5. MySQL的Redolog/Undolog/binlog日志
  6. ruby 类方法与实例方法_Ruby Set相交? 实例方法
  7. AMD完成对赛灵思的收购
  8. Linux系统修改编码(转)
  9. yum安装mysql5.7
  10. win7电脑便签怎么弄
  11. 经典的经典:《自然哲学的数学原理》
  12. 2010最新***工具包
  13. Java遍历文件夹及图像缩放批处理
  14. cannot import name '_validate_lengths' from 'numpy.lib.arraypad'
  15. 智慧社区综合信息服务平台,让你的社区更智能
  16. 老男孩读PCIe之四:TLP类型
  17. python量化交易:Joinquant_量化交易基础【三】:python基本语法与变量
  18. django多对多展示
  19. 如何使公园无线AP全覆盖更有价值?
  20. 基于OPENCV的手势识别技术

热门文章

  1. IDA+GDB远程调试android平台 - Aarch64- elf64程序
  2. Base64加密解密算法的C/C++代码实现
  3. linux两个网段默认网关_Linux下配置多网卡多网关
  4. 内核和用户模式下进程与线程创建
  5. 2021年云安全威胁预测,懂网络安全的无需恐慌
  6. Windows保护模式学习笔记(十)—— TLB
  7. 3、创建用户(3种方式)
  8. 1.2 Java系统流
  9. ACM入门之【字典树/Trie】
  10. log4日志内容换行_Linux 下 4 种实时监控日志文件的方法,总有一种适合你