SQL Server 在线书籍在SET TRANSACTION ISOLATION LEVEL 中说:
“对在以下隔离级别下运行的堆块查询进行了优化的批量加载操作:
快照
未提交的阅读
使用行版本控制读取已提交”。
优化的批量加载在这里到底是什么意思?
优化的批量加载意味着 SQL Server 使用特殊的批量加载代码路径(快速加载)和最少的日志记录。
这些概念描述于:
从最后一个链接:
尽管 RCSI 下的读取器不受 X 锁的影响,但在 SQL Server 2008 中有两种批量加载情况会阻塞 RCSI 查询(以及 NOLOCK 查询):
- 使用 BULK INSERT、INSERT-SELECT 或其他批量加载操作使用 TABLOCK 填充堆时。这是因为堆加载获取 BULK OPERATION 意向排他 (IX) 锁,而 NOLOCK 或 RCSI 读取器获取 BULK OPERATION 共享 (S) 锁。要批量加载堆并允许并发读取器甚至使用 RCSI 或 NOLOCK,您必须消除 TABLOCK 提示,从而放弃最少的日志记录。
归档时间: |
|
查看次数: |
479 次 |
最近记录: |