排它锁是悲观锁的一种: select *from table where id=1 for update; 加了for update 之后其他连接无法"查询"该条数据,会超时.需要set autocommit=0;
乐观锁:比如修改库存表,表中有个字段version,两个并发连接先查询version字段同时为0,然后修改库存的同时将version+1,并且修改的where条件加上version=0.那么最终就只有一个连接可以修改成功.
由于乐观锁不锁数据,所以性能高于悲观锁
排它锁是悲观锁的一种: select *from table where id=1 for update; 加了for update 之后其他连接无法"查询"该条数据,会超时.需要set autocommit=0;
乐观锁:比如修改库存表,表中有个字段version,两个并发连接先查询version字段同时为0,然后修改库存的同时将version+1,并且修改的where条件加上version=0.那么最终就只有一个连接可以修改成功.
由于乐观锁不锁数据,所以性能高于悲观锁