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

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - SQL 用法 » 查询和数据修改 » 查询 » 高级:查询优化

 

在查询处理过程中执行的优化

在查询重写阶段,SQL Anywhere 会执行语义转换以搜索更高效和更方便的查询表示。由于查询可能被重写为语义上等效的查询,计划看起来可能会与初始查询有很大不同。常见的操作包括:

  • 消除不必要的 DISTINCT 条件

  • 取消子查询嵌套

  • 将谓语推入执行了 UNION 或 GROUP 的视图和派生表中

  • 优化 OR 和 IN 列表谓语

  • 优化 LIKE 谓语

  • 将外连接转换为内连接

  • 排除外连接和内连接

  • 通过谓语推导发现可利用的条件

  • 排除不必要的大小写转换

  • 将子查询重写为 EXISTS 谓语

  • 从无法转换为 AND 谓语的 OR 谓语推导可用于实现部分索引扫描的可优化搜索 IN 谓语

注意

如果游标是可更新的,则不能对主查询块执行某些查询重写优化。将游标声明为只读以利用优化。

一些在查询重写阶段执行的重写优化可以在由 REWRITE 函数返回的结果中观察到。

 另请参见