MyISAM与InnoDB关于锁方面的区别

一、 MyISAM与InnoDB关于锁方面的区别

MyISAM:默认用的是表级锁,不支持行级锁
InnoDB:默认用的是行级锁,也支持表级锁
MyISAM适合的场景
1.频繁执行全表count语句(MyISAM用了一个变量存行数,取的时候就很快)
2.对数据进行增删改的频率不高,查询非常频繁
3.不用事务的系统也适合
InnoDB适合的场景
1.数据增删改查都相当频繁
2.可靠性要求比较高,要支持事务

一些锁的知识

行级锁:行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。行级锁分为共享锁 和 排他锁。
特点:行级锁能大大减少数据库操作的冲突。其加锁粒度最小,但加锁的开销也最大。
表级锁:表级锁是MySQL中锁定粒度最大的一种锁,表示对当前操作的整张表加锁,它实现简单,资源消耗较少,被大部分MySQL引擎支持。最常使用的MYISAM与INNODB都支持表级锁定。表级锁定分为表共享读锁(共享锁)与表独占写锁(排他锁)。
特点:开销小,加锁快;不会出现死锁;锁定粒度大,发出锁冲突的概率最高,并发度最低。

什么是共享锁和排他锁:共享锁就是允许多个线程同时获取一个锁,一个锁可以同时被多个线程拥有。
排它锁,也称作独占锁,一个锁在某一时刻只能被一个线程占有,其它线程必须等待锁被释放之后才可能获取到锁。

什么是乐观锁和悲观锁:乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。
具体进入此博客看:https://blog.csdn.net/qq_34337272/article/details/81072874

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值