事务的本质是空间换时间(不同的事务在不同版本的数据上进行读取,这些事务是在不同的空间中进行操作的,自然没有并发安全问题),而对于有些特殊情况(增删改和select for update)来说,只有读取当前最新的版本数据才有意义,所以多个事物在执行这些操作时都需要在一个共享的数据上进行操作,只有用锁来互斥才能保证并发安全。