MYSQL多线程并发操作同一张表同一个字段的更新问题?
可以用乐观锁方案:
在表里增加个字段,版本号字段
每次更新前先从数据库里获取这个版本号的值,然后更新时要同步更新版本号+1,并且增加更新条件版本号=查询出来的值。
因为更新时每次只可能有一个线程更新到数据,等到另外一个线程再去更新数据的时候版本号已经+1了,所以会更新失败,重新获取版本号再走更新流程,这样就解决了多线程并发更新被覆盖的问题。
而且乐观锁机制避免了长事务中的数据库加锁开销(多个线程操作过程中,都没有对数据库数据加锁),大大提升了大并发量下的系统整体性能表现。
如果觉得《MYSQL多线程并发操作同一张表同一个字段的更新问题》对你有帮助,请点赞、收藏,并留下你的观点哦!