我们先看看MYSQL 的SELECT 到底有几种形式, 在什么方式上需要被使用,可以满足某些系统的功能.
1 select for share;
这个应用到的相对于for update 要少的多, 但实际上有些业务中是可以用到他来避免一些问题的...例如: 对当前的雇员的信息进行审核,在审核时员工的title是不能被改变的.
事务1 审核员工过程
?
事务 2
?...select 什么都不加的情况下,读取的数据是快照,所以不加锁....MYSQL 数据库本身的定位是快速的OLTP的操作,在高并发中这样的等待的情况可能不被允许,应用程序希望快速的得到我是否可以对这行是否能进行操作,所以在此基础上,MYSQL 8 提供了 NOWAIT 的方式来满足应用的需求...如
事务1 在更新数据,并且是更新一个数据的范围
?
事务2
?