【发布时间】:2012-06-22 12:38:28
【问题描述】:
我们正在使用分区视图(SQL Server 2008 Standard,分区表不是一个选项),如果我们考虑分区消除目标,它们可以正常工作:如果我们在分区视图中运行查询,指定列上的子句,选择作为鉴别器,我们可以从实际执行计划中看到,只有与指定鉴别器值相关的表被命中。但是,如果有并发的 INSERT 或 UPDATE 语句,即使这些语句没有命中鉴别器选择的表,我们也会遇到锁定问题。
分析锁我可以看到,即使执行计划显示只读取了正确的一个表,IS锁仍然会放在分区视图中的所有表上,当然如果其他人已经放了一个X 锁定其中一个,在分区视图上运行的整个查询被锁定在那个上,即使带有 X 的表根本没有被读取。
这是分区视图的一般限制,还是有办法在坚持分区视图的同时避免它?我们按照 SQL Server 联机丛书的建议创建了分区视图和相关内容。
谢谢
黄蜂
【问题讨论】: