0

我有三张桌子:

  1. 批量导入
  2. 患者图表图像
  3. PatientChartBatchMapping(此表具有 ImportBatch 和 PatientChartImages 的外键)

我有一个未索引的视图,定义了从 3 个表中选择记录。我通过以下命令明确锁定 PatientChartImages 表以生成生产数据库的阻塞场景

begin transaction
update PatientChartImages set imagesequence=imagesequence
--Commit transaction

以上查询锁定 PatientChartImages 表。此外,以下查询超时:

select * from ImportBatch where importbatchid=@importbatchid

当我删除视图并遵循相同的过程时,ImportBatch 查询不会超时。任何人都可以解释这种行为。这是设计使然还是我在做一些疯狂的事情?

4

1 回答 1

0

单独的视图不会导致这种行为。但是索引视图肯定会。或者图像序列上的外键约束(如果存在)。

于 2012-05-23T18:45:30.297 回答