MySQL锁机制和优化

本文详细介绍了MySQL的锁机制,包括全局锁、表级锁、行级锁的种类和作用,以及如何避免死锁。同时,文章讨论了不同隔离级别的锁行为,并提供了SQL查询优化的建议,如索引优化、LIMIT优化和子查询优化。
摘要由CSDN通过智能技术生成

按锁粒度
全局锁:对整个Database进行加锁,由MySQL的SQL Layer层实现
全局锁是对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML的写语句、DDL语句和已经更新操作的事务进行提交语句都将被阻塞。
用途:全库的逻辑备份

flush tables with read lock; ## 加全局锁
unlock tables; ### 释放全局锁

表级锁:对某个Table进行加锁,由MySQL的SQL Layer层实现
表级锁又分为表读锁、表写锁、元数据锁、自增锁

lock table 表名称 read(write), 表名称2 read(write), 其他。。。 ### 格式
lock table test read ### 为表test添加读锁
lock table test write ### 为表test添加写锁
show open tables ### 查看表锁情况
unlock tables ### 释放表锁

元数据锁

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值