select语法非常简单,相信接触sql的人没有不知道的吧。但是,将select放在事务中,它的处理规则恐怕很多人都不能完全说清楚吧。本文就给大家说一下在事务处理中使用select应该注意的地方。

(1)如果数据库的隔离级别是读已提交(Read Committed),这是很多数据库默认的隔离级别。在这种情况下:
1.1 对于当前事务的更改,即便是未提交的,select也是可见的。
1.2 除了当前事务之外,select只能看到已提交的事务所做出的更改。往往会出现这种情况:同一个事务的两个相同的select语句,但是执行顺序不同,也可能会返回不同的结果。两个select语句执行间隔的时间里,可能有其他的事务提交,数据被修改了。

(2) 如果数据库的隔离级别是可重复读,事务只能看到事务开始前已提交的数据。所以,select既不能看到未提交的数据,也不能看到事务在执行时被其它事务更新的已提交的数据。

标签: none

(一)网站基金来源:

2019年本站VIP服务,收徒公告:>>>>>>


(二)入群须知:

凡是加入我群者,皆要严守群规,每周日是群规反思日。群规的要义有两点∶

(1)坚持系统化的学习方式,由量变到质变。仅仅解决工作中的问题,并不叫系统化的学习。

(2)坚持以价值为导向的学习方式,扔掉低价值知识[配置、调参、安装],聚焦高价值知识[结构、算法、优化],推动量变到质变的进程。

添加新评论