1、查询结果不同
1、不使事务:默认情况下每次查询,查询到的都是其他事物已提交的数据。
2、只读事务:从只读事务开始直到事务结束,整个过程其他事务提交的数据,该事务过程中都忽略。即查询过程中,不会查询到该事物开启之后任何改变的数据。
2、适用场景不同
1、单条sql语句的查询,不必启用只读事务
数据库默认支持单条SQL语句执行期间的读一致性。
2、多条sql语句的查询,需要启用只读事务
此种场景要求多条SQL查询出的数据必须保证整体一致性,需要启用只读事务。
原因:在前面SQL查询执行结束,接下来执行后续SQL查询之前,数据发生了改变,那么本次整体查询结果将会出现数据不一致的情况。所以,应该启用事务支持。
说明:一次执行多条sql语句查询来统计多项信息,此时为保证数据整体一致性,要用只读事务,无需读写事物。