MYSQL悲观锁和乐观锁

悲观锁
select @@autocommit;
set @@autocommit = 0;
select @@autocommit;
select * from table_name where id=1 for update;
commit;
如果where条件查询的不是索引,那么整个表都会被锁住。

乐观锁
表内加一个version字段,查询语句
update table_name set version = version+1 where id=1 and version=version;
高并发的话,只会有一条成功,其他条件会失败。

posted @ 2022-01-25 16:01  陈华波  阅读(43)  评论(0)    收藏  举报