24

如何使用 DB2 的解释功能?-- 既要运行它,又要使用它来优化查询。是否有更好的工具可用于 DB2?

我以前构建过查询,但我必须告诉他们需要多长时间的唯一方法是运行它们并计时——这并不理想。

编辑:对我来说,答案是“你不能。你没有也不能获得访问权。” 你不喜欢官僚主义吗?

4

4 回答 4

18

您正在寻找的内容包含在两个 DB2 实用程序中:

  1. 解释实用程序,它显示优化器的访问计划和特定查询的估计成本(基于当前的 RUNSTATS 统计信息)
  2. 设计顾问,它建议结构更改以提高一个或多个查询的性能

这两个实用程序都需要在数据库中创建专门的表。

我倾向于使用解释实用程序而不是顾问程序,特别是如果我能够更改查询的 SQL 以影响更好的访问计划。我使用 db2expln 命令行实用程序来解释我正在调整的查询的不同版本并比较它们的成本。最重要的是您的表和索引统计信息在运行解释或设计顾问时是最新的。

于 2009-07-08T19:26:56.937 回答
12

IBM 提供Data Studio作为基于 eclipse 构建的免费工具,其中包括用于运行可视化解释的 GUI,以及通过查询顾问提供调整帮助。 我强烈推荐使用 Data Studio。

通过右键单击连接的数据源并选择正确的资源(需要构建的解释表和需要完成的绑定)相对容易

分析和调整 > 配置调整 > 引导配置。

在此处输入图像描述

生成解释图- 只需突出显示您的查询,右键单击,然后选择“Open Visual Explain”:

在此处输入图像描述

要使用查询顾问,请选择“开始调整”。它将带您完成一个生成解释的过程,并推荐它可以确定的任何调整机会。

在此处输入图像描述

于 2014-04-16T14:48:46.637 回答
6

db2expln -database sample -t -g -f "sql 查询"

这对我来说很好。

于 2012-02-02T10:44:46.907 回答
3

我总是发现在“-g”模式打开的情况下从命令行运行解释实用程序可以帮助我查明问题。

我现在不记得选项了,IIRC,db2expln 对排序有点挑剔{即你不能把用户名放在密码后面!!} - 但它运作良好。

于 2009-07-18T07:48:55.267 回答