优化程序会维护优化过程中可用实例化视图的列表。如果实例化视图的定义中包含优化程序拒绝的某些元素,或者实例化视图的数据被认为更新度不够而不适于使用,则将不会考虑在优化中使用该视图。有关实例化视图需满足哪些条件才能在优化过程中使用的信息,请参见使用实例化视图提高性能。
缺省情况下,实例化视图可以由优化程序使用。但是,您可以禁止优化程序使用实例化视图,除非该视图在查询中被显式引用。
要确定允许还是禁止优化程序使用实例化视图,请使用 sa_materialized_view_info 系统过程。请参见sa_materialized_view_info 系统过程。
以具有 DBA 权限的用户身份连接到数据库。
在左窗格中,双击 [视图]。
右击实例化视图,并选择 [属性]。
单击 [常规] 选项卡,然后选择 [在优化中使用]。
单击 [确定]。
以具有 DBA 权限的用户身份,或以实例化视图所有者身份连接到数据库。
执行带有 ENABLE USE IN OPTIMIZATION 子句的 ALTER MATERIALIZED VIEW 语句。
以下语句启用 EmployeeConfid77 视图以供优化使用:
ALTER MATERIALIZED VIEW GROUPO.EmployeeConfid77 ENABLE USE IN OPTIMIZATION; |
以具有 DBA 权限的用户身份连接到数据库。
在左窗格中,双击 [视图]。
右击实例化视图,并选择 [属性]。
单击 [常规] 选项卡,然后清除 [在优化中使用]。
单击 [确定]。
以具有 DBA 权限的用户身份,或以实例化视图所有者身份连接到数据库。
执行带有 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; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |