MySQL事务的默认隔离级别是REPEATABLE READ, 也就是说在事务中每次读到的数据都会是一样的,不管其他人是否做过写操作。一个事务开始是刚建立连接,或上次提交或滚回。那么如果在这种情况下使用mod_perl,并保持DB连接,那么就可能出现数据不一致。比如一个进程中有一段时间都没有commit和rollback操作,那么它读到的数据就会和事务开始时一样,不管其他进程是否有过更新的操作。那么用户使用这个进程得到的数据就和其他进程不一样。
因此我觉得用READ COMMITTED的隔离级别会比较好。
因此我觉得用READ COMMITTED的隔离级别会比较好。
set session transaction isolation level read committed