Open weblixin opened 4 years ago
参考文章
共享锁又叫做读锁,简称S锁。顾名思义,共享锁就是多个事物共享同一把锁,但是只能读不能改。
排它锁又叫做写锁,简称X锁。顾名思义,排它锁就是不同事物不能使用同一把锁,一个事物获取数据行的排它锁,其他事务就不能获取该行的其他锁(共享锁和排他锁),只能等第一个事务结束或者排他锁释放出来才能获取。排它锁具有阻塞性,会阻塞其他锁。
select * from table1 lock in share mode
select * from table1 for update
select * from table1
表锁与行锁没有绝对的性能强弱之分,在应用中可以根据实际场景选择,在锁粒度与数据安全之间寻求一种平衡机制。
InnoDB 的行锁是基于索引实现的,如果不通过索引访问数据,InnoDB会使用表锁。
假期学习—— MySQL(四)
Mysql 的事物和锁
参考文章
锁
共享锁
共享锁又叫做读锁,简称S锁。顾名思义,共享锁就是多个事物共享同一把锁,但是只能读不能改。
排它锁
排它锁又叫做写锁,简称X锁。顾名思义,排它锁就是不同事物不能使用同一把锁,一个事物获取数据行的排它锁,其他事务就不能获取该行的其他锁(共享锁和排他锁),只能等第一个事务结束或者排他锁释放出来才能获取。排它锁具有阻塞性,会阻塞其他锁。
select * from table1 lock in share mode
select * from table1 for update
select * from table1 lock in share mode
和select * from table1 for update
进行查询,也不能update、delete、insert,可以通过select * from table1
行锁和表锁
表锁与行锁没有绝对的性能强弱之分,在应用中可以根据实际场景选择,在锁粒度与数据安全之间寻求一种平衡机制。
InnoDB 的行锁是基于索引实现的,如果不通过索引访问数据,InnoDB会使用表锁。