③. 隔离级别
- ①. 多个事务之间隔离的,相互独立的。但是如果多个事务操作同一批数据,则会引发一些问题,设置不同的隔离级别就可以解决这些问题
- ②. 隔离级别从小到大安全性越来越高,但是效率越来越低
- ③. 事务的隔离级别总结:
④. 查看隔离级别:select @@tx_isolation
⑤. 设置当前mysql的隔离级别:set session transaction isolation level 隔离级别
⑥. 设置数据库系统的全局的隔离级别:set global session transaction isolation level 隔离级别
⑦. Mysql默认的事务隔离级别是可重复读,用Spring开发程序时,如果不设置隔离级别默认用Mysql设置的隔离级别,如果Spring设置了就用已经设置的隔离级别
④. 锁分类 表索、行锁、读锁、写锁
①. 从性能上分为乐观锁(用版本对比来实现)和悲观锁
②. 从对数据库操作的类型分,分为读锁和写锁(都属于悲观锁)
读锁(共享锁,S锁(Shared)):针对同一份数据,多个读操作可以同时进行而不会互相影响
写锁(排它锁,X锁(eXclusive)):当前写操作没有完成前,它会阻断其他写锁和读锁
③. 从对数据操作的粒度分,分为表锁和行锁