DB2 10.5 for Linux, UNIX, and Windows
db2expln 输出的描述
db2expln 命令的说明输出包括程序包信息以及每个程序包的部分信息。
- 程序包信息包括绑定操作的日期以及相关的绑定选项
- 部分信息包括部分号以及正在说明的 SQL 或 XQuery 语句
关于该 SQL 或 XQuery 语句的所选存取方案的说明输出会出现在部分信息下面。
存取方案的步骤(即“部分”)按数据库管理器执行它们的顺序显示。每个主要步骤都显示为向左对齐的标题,有关该步骤的信息以缩进形式显示在该标题下面。在存取方案的说明输出的左页边距中,将出现缩进条。这些条还用于标记每项操作的作用域。缩进层较低(更靠近右边)的操作将在上一缩进层中的操作之前被处理。
选择的存取方案基于输出中显示的原始 SQL 语句(如果已启用语句集中器,那么是有效的 SQL 语句)或 XQuery 语句的扩充版本。由于查询编译器的查询重写组件可能会将 SQL 或 XQuery 语句转换为等效但效率更高的格式,因此,说明输出中显示的存取方案可能与您的期望出入很大。说明工具(包括说明表和 SET CURRENT EXPLAIN MODE 语句)显示的是用于优化的实际 SQL 或 XQuery 语句,这些语句具有 SQL 或 XQuery 的风格,并且是通过对查询的内部表示进行反向转换创建的。
在将 db2expln 的输出与说明工具的输出进行比较时,运算符标识选项(-opids)非常有用。每当 db2expln 开始处理来自说明工具的新运算符时,就会在所说明方案的左边打印运算符标识号。运算符标识可以用于对该存取方案的各种表示中的步骤进行比较。注意,在说明工具输出中的运算符与 db2expln 显示的操作之间并非始终存在一一对应的关系。