我们正在使用分区视图(SQL Server 2008 Standard,分区表不是一个选项),如果我们考虑分区消除目标它们工作正常:如果我们在分区视图中运行查询,指定列上的子句我们选择作为鉴别器,我们可以从实际执行计划中看出,只有与指定鉴别器值相关的表被命中。但是如果存在并发INSERT或UPDATE语句,则会导致锁定问题,即使这些语句没有达到鉴别器选择的表。
分析锁我可以看到,即使执行计划显示只读取了正确的一个表,IS锁仍然放在分区视图中的所有表上,当然如果其他人已经放了一个X锁定其中一个在分区视图上运行的整个查询被锁定在那个上,即使根本没有读取带有X on的表。
这是一般分区视图的限制,还是有办法在坚持使用分区视图时避免使用它?我们根据SQL Server联机丛书建议创建了分区视图和相关内容。
由于
黄蜂
答案 0 :(得分:2)
这是设计的。不要锁定X整个表格。