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 的用法 » 查询处理 » 查询优化与执行 » 读取执行计划 » 读取图形式计划

 

优化程序统计字段说明

下面是在图形式计划的 [优化程序统计] 部分显示的字段的说明。[优化程序统计] 提供了有关数据库服务器状态和所选语句优化的信息。

字段 说明

优化方法

用于选择执行策略的算法。将返回下列值:

  • 开销旁路
  • 简单开销旁路
  • 试探法旁路
  • 跳过然后优化
  • 已优化
  • 重新使用的
  • 重新使用的(简单)

成本最佳计划

当查询优化程序枚举不同的查询执行策略时,查询优化程序会跟踪它查找某个策略的次数,该策略的估计成本比在当前策略之前找到的最佳策略的成本更低。针对特定查询很难预测其发生频率,但是较低的数值表示查询优化程序的算法明显修整了搜索空间,并且通常表示优化时间更快。因为优化程序为给定语句的每个查询块至少启动一次枚举进程,因此 [成本最佳计划] 表示的是累积次数。请参见优化程序的工作原理

如果 [成本最佳计划]、[成本计划] 和 [优化时间] 的值为 0,则说明该语句没有被 SQL Anywhere 优化程序优化。相反,数据库服务器跳过了该语句,并生成了不优化该语句的执行计划,或该语句的计划已被高速缓存。请参见查询处理阶段

成本计划

优化程序考虑用于此请求的不同访问计划数,已部分或全部估计了此请求的成本。与 [成本最佳计划] 一样,较小的值通常表示更快的优化时间,较大的值表示更复杂的 SQL 请求。

如果 [成本最佳计划]、[成本计划] 和 [优化时间] 的值为 0,则说明该语句没有被优化。相反,数据库服务器跳过了该语句,并生成不优化该语句的执行计划。请参见查询处理阶段

优化时间

优化语句所用的时间。

如果 [成本最佳计划]、[成本计划] 和 [优化时间] 的值为 0,则说明该语句没有被优化。相反,数据库服务器跳过了该语句,并生成不优化该语句的执行计划。请参见查询处理阶段

预计高速缓存页

预计的可用于处理语句的当前高速缓存大小。

为减少低效率的访问计划,优化程序假定当前高速缓存大小的一半可用于处理所选语句。

CurrentCacheSize

优化时数据库服务器的高速缓存大小,以千字节为单位。

QueryMemMaxUseful

对此请求有用的查询内存页数。如果页数为零,则语句的执行计划不包含内存密集型运算符,并且不受服务器内存调控器的控制。请参见内存调控器

QueryMemNeedsGrant

表示内存调控器是否必须向存在于此请求的执行策略中的一个或多个内存密集型查询执行运算符授予内存。请参见内存调控器

QueryMemLikelyGrant

预计的查询内存池的页数,如果语句立即执行,会将该页数授予这个语句。此估计值随以下因素而变化:计划中内存密集型运算符的数量、数据库服务器的进程并发水平和并发执行的内存密集型请求的数量。请参见内存调控器

QueryMemPages

查询内存池中可用于所有连接的内存密集型查询执行算法的内存总量,以页数表示。请参见内存调控器

QueryMemActiveMax

在任何特定时间可主动使用查询内存的最大任务数。请参见内存调控器

QueryMemActiveEst

数据库服务器对主动使用查询内存的任务数的稳态平均值的估计。请参见内存调控器

isolation_level

语句的隔离级别。某个语句的隔离级别可能与同一事务中其它语句的隔离级别不同,并且可能会针对特定基表被进一步替换(通过在 FROM 子句中使用提示)。请参见isolation_level 选项 [数据库] [兼容性]

optimization_goal

表示优化查询处理的目的是为迅速返回第一行,还是为最大程度地降低返回整个结果集的开销。请参见optimization_goal 选项 [数据库]

optimization_level

控制查询优化程序为查找访问计划而消耗的资源量。请参见optimization_level 选项 [数据库]

optimization_workload

optimization_workload 设置的 [Mixed] 或 [OLAP] 值。请参见optimization_workload 选项 [数据库]

max_query_tasks

可用于单个查询的并行执行计划的最大任务数。请参见max_query_tasks 选项 [数据库]

user_estimates

控制是考虑还是忽略查询文本的单独谓词中指定的用户估计。请参见user_estimates 选项 [数据库]