【发布时间】:2020-01-08 16:55:27
【问题描述】:
我在 SQL Server 2017 数据库中有一个表,该表被许多源自多个线程的长时间运行的事务使用。这会导致每天多次死锁,因此我正在考虑实施读取提交的快照隔离。诀窍是这个表有 3 个 VARBINARY(MAX) 列,每个列都包含 10-1000MB 之间的数据(平均约为 20MB),旁边还有几个 int 和 bit 列。
现在问题:
Q1:SQL Server 是否会将整行(包括 VARBINARY(MAX) 列)复制到 TEMPDB 中?
Q2:如果是这样,将 VARBINARY(MAX) 列移动到与原始表具有 1:1 关系的单独表中是否会提高性能?
【问题讨论】:
标签: sql-server isolation-level