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 的用法 » 查询处理 » 查询优化与执行 » 使用实例化视图提高性能

 

实例化视图和视图匹配算法

视图匹配算法可确定实例化视图是否可以用于满足某个查询。该确定过程包括两个步骤:一个查询评估步骤和一个实例化视图评估步骤。

如果实例化视图的定义满足以下条件,则优化程序会将其包括在视图匹配算法将要检查的一组实例化视图中。

  • 只包含一个查询块

  • 只包含一个 FROM 子句

  • 不包含任何以下构造或规范:

    • GROUPING SETS
    • CUBE
    • ROLLUP
    • 子查询
    • 派生表
    • UNION
    • EXCEPT
    • INTERSECT
    • 实例化视图
    • DISTINCT
    • TOP
    • FIRST
    • 自连接
    • 递归连接
    • FULL OUTER JOIN

如果 HAVING 子句不包含子选择或子查询,则实例化视图定义可以包含 GROUP BY 子句和 HAVING 子句。

注意

这些限制只适用于视图匹配算法所考虑的实例化视图。如果在查询中显式引用了某个实例化视图,则优化程序会像使用基表一样使用该视图。

另请参见

查询评估
实例化视图评估
视图匹配算法示例