感觉并发只在存储过程那里有在处理,还是我水平太低了,哪个好心老哥指点下我,谢谢
确实 我还以为会有锁之类的代码
锁是最耗费时间的一种操作,锁住之后同一时间只能有一个事务执行,而优化之前事务内sql和java中交互有两处,每处运行都需要sql服务器和java服务器的交互,会在网络传输上耗费2n毫秒时间,而通过改变顺序将网络传输耗费时间改变为n毫秒
要注意上面的耗费时间是在事务中,意味着不能并发。之前每个请求都需要2n毫秒,优化后直接会减少一半。
而通过存储过程把并发操作转移到mysql意味着在网络延时时,意味着之前的2n毫秒可以并发了。
不是把insert放在update前面了嘛,减少update持有行级锁的时间