以下是在执行计划中可看到的缩写。
简要文本计划 | 详细文本计划 | 其它信息 |
---|---|---|
成本最佳计划 | 优化程序为给定查询生成访问计划并估算访问计划的开销。在此过程中,当前最佳计划可能被估计开销更低的新最佳计划所取代。最后一个最佳计划即是用于执行语句的执行计划。成本最佳计划指出优化程序发现比当前最佳计划更好的计划的次数。次数较少说明最佳计划在枚举过程早期就已确定。由于优化程序为给定语句的每个查询块至少启动一次枚举过程,因此成本最佳计划表示的是累积次数。 | |
成本计划 | 与目前已找到的最佳计划相比,优化程序生成的许多计划开销都十分庞大。成本计划表示在给定语句的枚举过程期间,优化程序所考虑的部分或完整计划的数目。 | |
** | ** | 全面的索引扫描。该索引扫描会读取所有行。 |
DELETE | Delete | DELETE 操作的根节点。 |
DistH | HashDistinct | HashDistinct 采用单个输入并返回所有非重复行。 |
DistO | OrderedDistinct | OrderedDistinct 读取每一行并将之与前一行进行比较。如果相同,则忽略该行;否则,将输出该行。 |
DP | DecodePostings | DecodePostings 解码文本索引中术语的位置信息。 |
DT | DerivedTable | 由于查询重写优化和各种其它原因,特别是在查询涉及一个或多个外连接时,DerivedTable 可能会出现在计划中。 |
EAH | HashExceptAll |
指示使用了集合差异 SQL 运算符 EXCEPT 的基于散列的实现。 |
EAM | MergeExceptAll |
指示使用了集合差异 SQL 运算符 EXCEPT 的基于排序的实现。 |
EH | HashExcept |
指示使用了集合差异 SQL 运算符 EXCEPT 的基于散列的实现。 |
EM | MergeExcept |
指示使用了集合差异 SQL 运算符 EXCEPT 的基于排序的实现。 |
Exchange | Exchange |
指示在处理 SELECT 语句时使用了查询内并行机制。 |
Filter | Filter |
指示应用了包括任何类型谓语、涉及子选择的比较、EXISTS 和 NOT EXISTS 子查询(以及其它形式的限定子查询)的搜索条件。 |
GrByH | HashGroupBy |
HashGroupBy 建立每组包含一行的内存中的散列表。当读取输入行时,将在工作表中查找关联组。它会更新集合函数并将组行重写到工作表中。如果没有找到组记录,则将初始化新的组记录并将其插入到工作表中。 |
GrByHClust | HashGroupByClustered |
在某些情况下,输入表的分组列中的值会聚簇,这样,相似的值便可以靠近在一起显示。ClusteredHashGroupBy 利用这种聚簇。 |
GrByHP | ParallelHashGroupBy |
HashGroupBy 的变体。 |
GrByHSets | HashGroupBySets |
HashGroupBy 的变体 HashGroupBySets 在执行 GROUPING SETS 查询时使用。 |
GrByO | OrderedGroupBy |
OrderedGroupBy 读取按分组列排序的输入。当读取每一行时,该算法会将该行与前一行进行比较。如果分组列匹配,则更新当前组;否则,将输出当前组并启动新组。 |
GrByOSets | OrderedGroupBySets |
OrderedGroupBy 的变体 OrderedGroupBySets 在执行 GROUPING SETS 查询时使用。 |
GrByS | SingleRowGroupBy |
当没有指定 GROUP BY 时,SingleRowGroupBy 用于生成单行集合。单个组行将保留在内存中,并针对每个输入行进行更新。 |
GrBySSets | SortedGroupBySets |
处理包含 GROUPING SETS 的 OLAP 查询时使用 SortedGroupBySets。 |
HF | HashFilter |
指示使用了散列过滤器(或 bloom 过滤器)。 |
HFP | ParallelHashFilter |
指示使用了散列过滤器(或 bloom 过滤器)。 |
HTS | HashTableScan |
指示使用了散列表扫描。 |
IAH | HashIntersectAll |
指示使用了集合差异 SQL 运算符 INTERSECT 的基于散列的实现。 |
IAM | MergeIntersectAll |
指示使用了集合差异 SQL 运算符 INTERSECT 的基于排序的实现。 |
IH | HashIntersect |
指示使用了集合差异 SQL 运算符 INTERSECT 的基于散列的实现。 |
IM | MergeIntersect |
指示使用了集合差异 SQL 运算符 INTERSECT 的基于排序的实现。 |
IN | InList |
当可以使用索引来满足 IN 列表谓语时,将使用 InList。 |
table-name<index-name> |
IndexScan、ParallelIndexScan | 在图形式计划中,索引扫描显示为梯形中的索引名。 |
INSENSITIVE | Insensitive | |
INSERT | Insert | INSERT 操作的根节点。 |
IO | IndexOnlyScan、ParallelIndexOnlyScan |
指示优化程序使用了包含满足查询所需的所有数据的索引。 |
JH | HashJoin |
HashJoin 会用两个输入中的较小输入建立内存中的散列表,然后读取较大的输入并探查内存中的散列表以查找匹配项,这些匹配项会被写入工作表中。如果内存无法容纳较小的输入,HashJoin 就会将这两个输入分为较小的工作表。将以递归的方式对这些较小的工作表进行处理,直到较小的输入能够装入内存为止。 |
JHS | HashSemijoin |
HashSemijoin 在左侧和右侧之间执行半连接。 |
JHSP | ParallelHashSemijoin |
HashJoin 的变体。 |
JHFO | Full Outer HashJoin |
HashJoin 的变体。 |
JHA | HashAntisemijoin |
HashAntisemijoin 在左侧和右侧之间执行反半连接。 |
JHAP | ParallelHashAntisemijoin |
HashJoin 的变体。 |
JHO | Left Outer HashJoin |
HashJoin 的变体。 |
JHP | ParallelHashJoin |
HashJoin 的变体。 |
JHPO | ParallelLeftOuterHashJoin |
HashJoin 的变体。 |
JHR | RecursiveHashJoin |
HashJoin 的变体。 |
JHRO | RecursiveLeftOuterHashJoin |
HashJoin 的变体。 |
JM | MergeJoin |
MergeJoin 读取均已按照连接属性进行排序的两个输入。对于左侧输入中的每个行,该算法通过按排序顺序对行进行访问来读取右侧输入中的所有匹配行。 |
JMFO | Full Outer MergeJoin |
MergeJoin 的变体。 |
JMO | Left Outer MergeJoin |
MergeJoin 的变体。 |
JNL | NestedLoopsJoin |
NestedLoopsJoin 通过为左侧的每行完全读取右侧的内容来计算左右两侧的连接。 |
JNLA | NestedLoopsAntisemijoin |
NestedLoopsAntisemijoin 通过为左侧的每行扫描右侧的内容来连接其输入。 |
JNLFO | Full Outer NestedLoopsJoin |
NestedLoopsJoin 的变体。 |
JNLO | Left Outer NestedLoopsJoin |
NestedLoopsJoin 的变体。 |
JNLS | NestedLoopsSemijoin |
NestedLoopsSemijoin 通过为左侧的每行扫描右侧的内容来连接其输入。 |
KEYSET | Keyset |
表示由键集驱动的游标。 |
LOAD | Load |
装载操作的根节点。 |
MultiIdx | MultipleIndexScan |
当可以使用或必须使用多个索引以满足查询(该查询包含一组通过逻辑运算符 AND 或 OR 组合的搜索条件)时,使用 MultipleIndexScan。 |
OpenString | OpenString |
当 SELECT 语句的 FROM 子句包含 OPENSTRING 子句时,可以使用 OpenString。 |
Optimization Time | 优化程序在给定语句的所有枚举过程期间所花费的总时间。 | |
PC | ProcCall | 过程调用(表函数)。 |
PreFilter | PreFilter |
过滤器应用包括任何类型谓语、涉及子选择的比较、EXISTS 和 NOT EXISTS 子查询(以及其它形式的限定子查询)的搜索条件。 |
R | R | 反向索引扫描。该索引扫描按相反顺序从索引读取行。 |
RL | RowLimit |
RowLimit 返回其输入的前 n 行并忽略其余的行。行限制是通过 SELECT 语句的 TOP n 或 FIRST 子句来设置的。 |
ROWID | RowIdScan | 在图形式计划中,行 ID 扫描的显示为矩形中的表名。 |
ROWS | RowConstructor |
RowConstructor 是一种专用运算符,可以创建用作其它算法的输入的虚拟行。 |
RR | RowReplicate |
RowReplicate 在执行 EXCEPT ALL 和 INTERSECT ALL 等集合操作期间使用。 |
RT | RecursiveTable | 指示已将递归表用作查询中 WITH 子句的结果,其中 WITH 子句用于递归联合查询。 |
RU | RecursiveUnion |
RecursiveUnion 在执行递归联合查询期间应用。 |
SELECT | Select | SELECT 操作的根节点。 |
seq | TableScan、ParallelTableScan | 在图形式计划中,表扫描显示为矩形中的表名。 |
Sort | Sort | 索引或合并排序。 |
SrtN | SortTopN |
SortTopN 用于包含 TOP N 子句和 ORDER BY 子句的查询。 |
TermBreak | TermBreak | 全文搜索 TermBreaker 算法。 |
UA | UnionAll |
UnionAll 从其每一项输入中读取行并将这些行输出,而不管是否有重复项。该算法用于实现 UNION 和 UNION ALL 语句。 |
UPDATE | Update | UPDATE 操作的根节点。 |
Window | Window |
计算使用窗口函数的 OLAP 查询时会使用窗口。 |
Work | Work table | 表示中间结果的内部节点。 |
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |