MySQL
锁
按粒度分
1,行级锁:锁住某行,粒度小,并发高,(Innodb默认)
2,表级锁:锁住某页,粒度大,并发小
3,间隙锁:锁的是一个区间,介于行锁,表锁之间
还可以分为
1,共享锁:既读锁,一个事务给某行加了读锁,其他事务也可以读,但是不能写
2,排他锁:既写锁,一个事务给某行加了写锁,其他事务不能读,也不能写
还可以分为
1,乐观锁:通过一个版本号控制
2,悲观锁:行锁,表锁既悲观锁
事务的隔离级别中,通过锁来解决幻读问题
存储引擎
InnoDB 和 MyISAM 比较
MyISAM 适合查询、插入为主的场景
InnoDB 支持事务(四个隔离级别),更新较为频繁的场景使用
1,InnoDB,支持行级锁(默认)行级锁提供了最高的并发性,但也是最复杂的,因为它需要管理更多的锁信息
2,MyISAM,表级锁,表级锁并不是事务型的,不支持事务
3,Memory,表级锁,并且数据存储在内存中,因此速度快,如果服务器崩溃,所有数据都会丢失
4,Archive,表级锁,仅支持 INSERT,SELECT,适合存储归档数据,如记录日志信息可以使用
日夜颠倒头发少 ,单纯好骗恋爱脑 ,会背九九乘法表 ,下雨只会往家跑 ,搭讪只会说你好 ---- 2050781802@qq.com