【发布时间】:2012-12-29 23:06:18
【问题描述】:
假设我有两笔交易
T1 - 以 READ_COMMITTED 隔离级别写入表的繁重数据处理作业,例如 Table1。 T2 - 使用 SERIALIZABLE 隔离级别从 Table1 读取数据的事务。
Table1 架构
autoincrement_id(INT) 数据(varchar)
T1 (READ_COMMITTED)
插入表 1.. 插入表 1.. 插入表 1.. 插入表 1..
T2(可序列化)
SELECT * FROM Table1 WHERE autoincrement_id > x; --做点什么
如果 T2 在 T1 之前开始,它实际上会停止 T1(正确吗?)
但是如果 T1 在 T2 之前开始并且在 T2 期间仍在进行中,那么 T2 是否会读取 T1 插入但未提交的数据?
【问题讨论】:
标签: sql sql-server-2008 concurrency transactions isolation-level