Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 创建数据库 » 使用数据库对象 » 使用实例化视图

 

手动和快速实例化视图

实例化视图有两种类型:手动和快速,这两种类型也表明了实例化视图的刷新类型

  • 手动视图   手动实例化视图或手动视图 是刷新类型定义为 MANUAL REFRESH 的实例化视图。手动视图中的数据会变为失效,因为在明确请求刷新前,不刷新手动视图,例如通过使用 REFRESH MATERIALIZED VIEW 语句或 sa_refresh_materialized_views 系统过程。缺省情况下,创建的实例化视图是手动视图。

    基础表有任何更改时,手动视图即视为失效,即使该更改不影响实例化视图中的数据。可以通过检查 sa_materialized_view_info 系统过程返回的 DataStatus 值确定手动视图是否视为失效。如果返回 S,则手动视图失效。

  • 快速视图   快速实例化视图或快速视图是刷新类型定义为 IMMEDIATE REFRESH 的实例化视图。基础表更改影响视图中的数据时,会自动刷新快速视图中的数据。如果基础表更改不影响视图中的数据,则不刷新该视图。

    此外,刷新快速视图时,只刷新需要更改的行。这与刷新手动视图不同,刷新手动视图时,会删除所有数据然后重新创建。

可以将手动视图更改为快速视图,也可以将快速视图更改为手动视图。但是,从手动视图更改为快速视图需要更多步骤。请参见将手动视图更改为快速视图

更改实例化视图的刷新类型会影响视图的状态和属性,特别是将手动视图更改为快速视图时。请参见实例化视图状态和属性