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 的用法 » 创建数据库 » 使用数据库对象 » 使用实例化视图

 

允许和禁止优化程序使用实例化视图

优化程序会维护优化过程中可用实例化视图的列表。如果实例化视图的定义中包含优化程序拒绝的某些元素,或者实例化视图的数据被认为更新度不够而不适于使用,则将不会考虑在优化中使用该视图。有关实例化视图需满足哪些条件才能在优化过程中使用的信息,请参见使用实例化视图提高性能

缺省情况下,实例化视图可以由优化程序使用。但是,您可以禁止优化程序使用实例化视图,除非该视图在查询中被显式引用。

要确定允许还是禁止优化程序使用实例化视图,请使用 sa_materialized_view_info 系统过程。请参见sa_materialized_view_info 系统过程

♦  允许在优化中使用实例化视图 (Sybase Central)
  1. 以具有 DBA 权限的用户身份连接到数据库。

  2. 在左窗格中,双击 [视图]。

  3. 右击实例化视图,并选择 [属性]。

  4. 单击 [常规] 选项卡,然后选择 [在优化中使用]。

  5. 单击 [确定]。

♦  允许在优化中使用实例化视图 (SQL)
  1. 以具有 DBA 权限的用户身份,或以实例化视图所有者身份连接到数据库。

  2. 执行带有 ENABLE USE IN OPTIMIZATION 子句的 ALTER MATERIALIZED VIEW 语句。

示例

以下语句启用 EmployeeConfid77 视图以供优化使用:

ALTER MATERIALIZED VIEW GROUPO.EmployeeConfid77 ENABLE USE IN OPTIMIZATION;
♦  禁止在优化中使用实例化视图 (Sybase Central)
  1. 以具有 DBA 权限的用户身份连接到数据库。

  2. 在左窗格中,双击 [视图]。

  3. 右击实例化视图,并选择 [属性]。

  4. 单击 [常规] 选项卡,然后清除 [在优化中使用]。

  5. 单击 [确定]。

♦  禁止在优化中使用实例化视图 (SQL)
  1. 以具有 DBA 权限的用户身份,或以实例化视图所有者身份连接到数据库。

  2. 执行带有 DISABLE USE IN OPTIMIZATION 子句的 ALTER MATERIALIZED VIEW 语句。

示例

以下语句创建 EmployeeConfid77 实例化视图,并对其刷新,然后将其禁用以供优化使用。

CREATE MATERIALIZED VIEW EmployeeConfid77 AS
   SELECT EmployeeID, Employees.DepartmentID, SocialSecurityNumber, Salary, ManagerID,
      Departments.DepartmentName, Departments.DepartmentHeadID
   FROM Employees, Departments
   WHERE Employees.DepartmentID=Departments.DepartmentID;
REFRESH MATERIALIZED VIEW EmployeeConfid77;
ALTER MATERIALIZED VIEW EmployeeConfid77 DISABLE USE IN OPTIMIZATION;
另请参见