插入索引视图

时间:2012-03-24 11:15:42

标签: merge in-memory-database indexed-view

问候Overflowers,

是否有SQL DBMS允许我创建一个索引视图,在该视图中我可以插入新行而无需修改视图的原始表?执行仅视图插入后,我需要查询此视图。如果答案是否定的,那么还有什么其他方法可以完成这项工作?我只是想将来自另一个服务器的一组行与创建的视图中的行集合合并 - 按特定顺序 - 以便能够对合并的集合(即索引视图)执行快速查询,而不必持久化磁盘中收到的设置。我不确定使用内存数据库是否会表现良好,因为合并的集合变得荒谬可笑?

你觉得怎么样?

亲切的问候

1 个答案:

答案 0 :(得分:1)

嗯,没有支持的方法,因为视图必须基于某些表。

除此之外,索引视图不应该像这样使用。您不必将任何数据推送到索引视图思考,以便更快地进行数据检索。

我建议你保持自己的观点。然后有一个临时表,在其上创建适当的索引,在其中插入来自外部系统的数据。

只要您想要删除数据,就应该截断临时表(就在您插入新数据之前)。这应该在SNAPSHOT ISOLATION事务中完成,因此您现有的查询不会读取脏数据或死锁。

然后你有两个选择:

  1. 如果要检索数据,请使用UNION ALL子句合并视图和登台表中的结果。
  2. 如果登台表不应合并,但内部加入,那么您可以将其集成到索引视图中。