今天做项目的时候遇到一个问题,情况如下:
为了使三张表中uid字段统一,设置了uid字段不自增。
但是为了使uid增大,使用了如下方法:每次插入数据前,先要查询一下目前uid的最大值,然后把当前uid+1后生成一个新uid,然后把新的uid作为新的插入行的uid。
这样操作首先我感觉会产生两个问题:
1.多了一个查询操作,产生效率问题,当然这不是最重要的。
2.我感觉高并发情况下,会出现问题
经过在群里问一些高手,确定了,这样操作肯定会产生高并发下出现问题。
总结:
“先查询,后插入,必然会出现问题”这是一个高手告诉我的。
解决方案:
1.使用事务处理
2.修改算法