悲观锁
1,读锁/共享锁 lock table t read
自己:能读,不能写
别人:能读,写等待
2,写锁/排它锁 lock table t write
自己:能读,能写
别人:读等待
解锁:unlock tables
select 自动加读锁
update,delete,insert 自动加表锁
粒度:
mysiam:表锁
innodb:有索引行锁,没有索引表锁
乐观锁
update set num = num-1 where id = 1 and num > 0