1. 表锁:
lock tables t1 read, t2 write;
如果在某个线程A中执行这个语句,则其他线程【写t1】, 【读写t2】的语句都会被阻塞。同时,线程A在执行 unlock tables 之前,也只能执行【读t1】,【读写t2】的操作。
2. 行锁
1)在InnoDB事务中,行锁是在需要的时候才加上的,但并不是不需要了就立刻释放,而是要等到事务结束时才释放。这就是两阶段锁协议。
如果事务中需要锁多个行,要把最可能造成冲突。最可能影响并发度的锁尽量往后放。
标签:tables,行锁,t2,t1,线程,mysql From: https://www.cnblogs.com/lili-xia/p/17230511.html