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

SQL Anywhere 12.0.1 » SQL Anywhere 服务器 - SQL 的用法 » 表、视图和索引 » 实例化视图 » 使用实例化视图提高性能

 

将刷新类型设置为手动还是快速

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

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

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

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

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

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

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

 另请参见

失效程度和手动实例化视图