性能测试&工作总结--Mysql常见性能问题分析和优化

Mysql常见性能问题分析和优化

1. 术语解释

  1. 死锁: 两个或两个以上的进程在执行过程中, 因争夺资源而造成的一种互相等待的现象
  2. 共享锁(S): 又叫做读锁, 属于一种显示枷锁, 所有事物只能进行读操作而不能进行写操作, 加上共享锁之后在事物结束之前其他事务只能再加共享锁, 除此之外其他任何类型的锁都不能再加了
         例: SELECT ‘id’ FROM user WHERE id in (1) LOCK IN SHARE MODE
  3. 排他锁(X): 又叫做写锁, 若某个事务对某一行加上了排他锁, 只能对这个事务进行读写, 在此事务结束之前, 其他任何事务不能对其加任何锁, 其他进程可以进行读取, 不能进行写操作, 需等其释放
         UPDATE, DELETE, INSERT都会涉及到记录行加上排他锁, 属于一种隐式加锁, SELECT语句默认不会加任何锁类型
        例: SELECT ‘id’ FROM user WHERE id =1 FOR UPDATE
  4. 意向共享锁(IS): 事务打算给数据行加行共享锁, 事务在给一个数据行加共享锁前必须先取得该表的IS锁
  5. 意向排他锁(IX): 事务打算给数据行加行排他锁, 事务在给一个数据行加排他锁前必须先取得该表的IX锁
  6. 行级锁: 他不会直接锁记录, 而是锁索引, 索引分为主键索引和非主键索引两种
        如果一条SQL语句操作(UPDATE, DELETE)了主索引, Mysql就会锁定其主键索引, 如果操作了非主键索引, 就会先锁定该非主键索引, 再锁定相关的主键索引
    在这里插入图片描述

2. 行锁模式的兼容性

在这里插入图片描述

3. 分析方法

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值