【MySQL】 知识点记录
2024-09-04 23:38:56
0. 定位和排查问题的常用语句
查询 正在执行的事务(这个输出有事物状态表明是否等待锁):
SELECT * FROM information_schema.INNODB_TRX查看正在锁的事务:
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;查看等待锁的事务:
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;这个语句显示当前所有的连接以及连接信息:show processlist查看最近一个sql查询产生的警告:show warnings;查看死锁日志:show engine innodb status \G;
1. Gap 锁是单纯的防止其他事物在间隙中插入(修改),他们不妨碍其他事物在相同的间隙中加间隙锁(间隙X锁和S锁是一样的效果)。
举一个例子:
假设A事物在(3,6)上持有间隙锁,B事物使用update索引 4 的记录,但是索引4记录不存在,锁住了同样的(3,6)间隙锁,这是可以成功的。
继续,如果B事物update更新索引1记录的值为索引4,此时,索引记录1存在,锁住的是(1,3)间隙,但是起更改后的结果是影响到了A事物的加了锁的间隙(3,6),这是不能插入或更新。
最新文章
- svn 应该忽略的文件(visual studio)
- EF:Oracle.DataAccess.Client.OracleException: ORA-12154: TNS:could not resolve the connect identifier specified
- 2.1 C#的关键字
- [Android] Google IAP unmaneged items服务器校验
- 安装Linux Mint
- windows使用nginx实现网站负载均衡测试实例
- JavaScript(二)——语法
- Devexpress-1 DataGrid控件
- oracle 解锁表
- QCustomplot使用分享(一) 能做什么事
- poj 2142 扩展欧几里得解ax+by=c
- dd命令刻录u盘启动盘
- 多项分布(multinominal distribution)
- C# 数据访问编码需要遵循的几个规范
- day 08 字符编码和文件的读写操作
- thinkphp如何省略index.php
- springmvc源码解析(二)
- echo * 打印当前目录列表
- 关于django的操作(四)
- 49. jdk-6u45-linux-i586.bin安装步骤