[b]Timeron 和 SQL 翻译[/b]
[b]Timeron[/b]
为了分析解释信息,您需要了解的最重要的事情就是 timeron 的概念。Timeron 是 DB2 Optimizer
使用的一种度量单位,用于计量查询完全执行所需的时间和资源数量。timeon 是时间、CPU 占用率、磁盘 I/O
和其他一些因素的综合。由于这些参数的值不断变化,执行一个查询所需的 timeon 数量也是动态的,每次执行都有所不同。
Timeron 也是一种创造出来的度量单位,因此,没有什么公式可以将执行一个查询所需的 timeron 数转换成秒数。除此之外,timeron
可以帮助您确定一种查询执行途径是否比另一种更快。(若执行一个查询所需的 timeron 数在两次编译之间相差 10 或 20
timeron,不必担心,这可能仅仅是由于 CPU 活动、磁盘活动或数据库使用情况发生了变化。)
[b]SQL 翻译[/b]
对一个数据库执行任何 SQL 语句之前,必须首先准备 SQL 语句。在此过程中,SQL 语句会简化为代数语句,DB2 Optimizer
随后可对此代数语句进行分析。这条代数语句就是所谓的查询图解模型,在整个优化过程中发挥作用。图 6 展示了在执行 SQL 查询之间,必要的优化及解析步骤。
[color=#ffffff][/color]
图 6. SQL 翻译流程
[img]http://www.webjx.com/files/allimg/071205/2311390.gif[/img]
优化流程的最终输出是一个访问计划。访问计划是 DB2 用以执行 SQL
语句的途径和步骤。这是由所有可用解释工具显示的信息。乍看上去,访问计划似乎非常复杂。但在具备了一定经验之后,您会很快发现它们实际上非常容易阅读和分析。
[b]激活 Visual Explain[/b]
只要收集到了全面解释和/或解释快照数据,关于数据收集实现和方法的信息就会记录在 EXPLAIN_INSTANCE 解释表中。您可随时通过
Explained Statement History 窗口查看此信息。要激活 Explained Statement History 窗口,可在
Control Center 中高亮显示适当的数据库,并在 Control Center 菜单中选择 Selected > Show Explained
Statement History 即可。图 7 展示了在为一条 SQL 语句收集了解释快照数据之后,Explained Statement History
窗口的外观。
图 7. Explained Statement History 窗口
[img]http://www.webjx.com/files/allimg/071205/2311391.jpg[/img]
一旦打开了 Explained Statement History 窗口,就可以使用 Visual Explain
来分析为任何记录收集的解释快照数据,这些数据的显示方法是,高亮显示一条记录,并在 Explained Statement History 窗口的主菜单中选择
Statement > Show Access Plan。图 8 展示了以这种方法为以下查询创建的 Access Plan 窗口(此查询可在随 DB2
提供的 SAMPLE 数据库上执行): [color=#ffffff][/color]
SELECT * FROM EMPLOYEE, DEPARTMENT WHERE WORKDEPT=DEPTNO
图 8. Access Plan Graph 窗口
[img]http://www.webjx.com/files/allimg/071205/2311392.jpg[/img]
另一方面,还可为新查询收集解释快照数据,相应的访问计划可通过在 Explained Statement History 窗口的主菜单中选择
Statement > Explain Query... 显示出来。在选中这些菜单项时,Explain Query Statement
窗口将打开,并提示您为查询输入文本。图 9 展示了以一个简单的查询填充后的 Explain Query Statement 窗口。
图 9. Explain Query Statement 窗口
[img]http://www.webjx.com/files/allimg/071205/2311393.jpg[/img]
Access Plan Graph 窗口中展示的访问计划的每个组件都可供单击,单击后即可看
- 评论 (0)
- 版权声明
此页仅显示最新5条评论,点击查看全部