如何在 SQL Server 中的更新/插入事务之外更新视图

Den*_*nis 4 index sql-server-2008 sql-server

查看 SQL Server 索引视图,我看到这些视图在更新相关表的事务中更新。我想知道是否有办法解决它?

将有大约 10 个视图和 20 个索引依赖于同一个表。当我对依赖表进行更新时,我不想等待更新视图和视图索引。我想确保在事务中更新表,并在某种守护程序模式下更新视图。

gbn*_*gbn 10

不,没有。ACID 中C(一致性)指示更新依赖(索引)视图。

如果您想解决这个问题,您需要在一个单独的表上构建视图,该表在您自己的时间按需更新。通过 Service Broker 说或预定

  • @Denis Oracle MV 确实与 MS SQL 索引视图不太相似——它们的共同点是肤浅的。 (4认同)
  • @Denis:是的,Oracle 可以,但 SQL Server 不能。就个人而言,我不想使用过时的视图。我已经看到 Oracle 后端对于具有延迟更新物化视图的应用程序的问题,在我看来这非常违反直觉 (3认同)
  • @AlexKuznetsov“陈旧数据还可以”听起来很像我经常看到的关于‘NOLOCK’的理由类型。是的,有时没问题,但您必须充分意识到 - 并且可以接受 - 潜在的后果。 (2认同)