Merge 插入到索引视图

Merge 插入到索引视图,merge,in-memory-database,indexed-view,Merge,In Memory Database,Indexed View,向飞越者致意 是否有SQL DBMS允许我创建索引视图,在其中插入新行而不修改视图的原始表?在执行仅在视图中插入后,我需要查询此视图。如果答案是否定的,还有什么其他方法可以完成这项工作?我只想将来自另一台服务器的一组行与已创建视图中的一组行(按特定顺序)合并,以便能够对合并的集(即索引视图)执行快速查询,而不必将接收到的集保留在磁盘中。我不确定使用内存中的数据库是否会在合并集增长得可笑时表现良好 你们觉得呢,伙计们 好吧,由于视图必须基于某些表,因此不支持这样做 除此之外,索引视图并不打算这样使

向飞越者致意

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

你们觉得呢,伙计们


好吧,由于视图必须基于某些表,因此不支持这样做

除此之外,索引视图并不打算这样使用。您不必将任何数据推送到索引视图中,以为这样可以加快数据检索速度

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

只要您想删除数据,就应该随时截断暂存表(所以就在插入新数据之前)。这应该在
快照隔离
事务中完成,这样现有查询就不会读取脏数据或死锁

那么您有两个选择:

  • 要检索数据时,请使用
    UNION ALL
    子句合并视图和临时表中的结果
  • 如果不应该合并临时表,而是内部联接,那么您可能可以将其集成到索引视图中

  • 因为视图必须基于某些表,所以不支持这样做

    除此之外,索引视图并不打算这样使用。您不必将任何数据推送到索引视图中,以为这样可以加快数据检索速度

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

    只要您想删除数据,就应该随时截断暂存表(所以就在插入新数据之前)。这应该在
    快照隔离
    事务中完成,这样现有查询就不会读取脏数据或死锁

    那么您有两个选择:

  • 要检索数据时,请使用
    UNION ALL
    子句合并视图和临时表中的结果
  • 如果不应该合并临时表,而是内部联接,那么您可能可以将其集成到索引视图中