innodb存储引擎的特性:
innodb支持行级锁
行级锁可以最大程度的支持并发
行级锁是由存储引擎层实现的
什么是锁:
锁最主要作用是管理共享资源的并发访问
锁用于实现事务的隔离性
锁的类型:1 共享锁 (也称之为读锁) 2 独占锁 (也称写锁)
desc myinnodb; 查看表结构
insert into myinnodb values(1,'aa'),(2,'bb'); 插入多条
begin; 启动事务
rollback;回滚事务
锁的粒度:
表级锁 行级锁
lock table myinnodb write;给innodb加表级锁。
unlock tables; 解除表级锁。
阻塞和死锁
阻塞:一个事务的锁需要等待另一个事务的锁释放,这就形成了阻塞,阻塞是为了并发且可以正常的运行,大量的阻塞的可能原因 慢查询 或者 排它锁。
死锁:两个或两个以上的事务在执行的过程中,相互占用了对方等待的资源,而差生一种异常。死锁是又系统自动处理的,少量的死锁并不会对系统造成什么影响。
innodb状态检查 :show engine innodb status