查询执行计划
EXPLAIN 命令显示语句的执行计划。 这意味着您可以看到规划器执行该语句的方法详细信息。 例如,如何扫描表、使用什么连接算法来汇总所需的行、语句执行成本以及其他信息。
执行成本是规划器对运行语句所需时间的估计。 测量是以相对成本单位进行的。 执行成本有两个选项:启动和总计。 启动成本显示处理第一行所需的时间,总成本显示处理所有行所需的时间。
DataGrip 为 EXPLAIN 命令提供以下操作:
解释计划 :该语句仅被计划。
解释分析 :该语句实际上被执行,而不仅仅是计划。 在这种情况下,您可以看到以毫秒为单位的运行时间统计。
这些操作位于代码编辑器工具栏上的 解释计划 下拉菜单中。 你也可以使用 代码编辑器上下文菜单来调用它们。 要将 执行计划(原始) 和 Explain Analyse (Raw) 操作也添加到下拉菜单中,请 将它们添加到菜单。

结果将在专用的 查询计划 选项卡上以树形和表格混合格式显示。 有关 查询计划 选项卡的更多信息,请参阅 服务工具窗口 主题。
查看以下视频,了解如何在 DataGrip 中生成 EXPLAIN 查询计划。
复制查询方案。
您可以将查询方案以数据库的原生格式复制,例如 JSON 或 XML。
右键点击一条 SQL 语句,然后选择
。
或者,在工具栏中点击
解释计划 ,然后选择 解释计划
在 查询计划 选项卡中,点击左侧工具栏顶部的
复制原始查询计划。
目前支持 PostgreSQL、Amazon Redshift、MySQL、MariaDB、Oracle、Microsoft SQL 服务器 和 Snowflake。

可视化查询计划
右键点击一条 SQL 语句,然后选择
。
或者,在工具栏中点击
解释计划 ,然后选择 解释计划
默认情况下,查询方案的树形表示会显示在 服务 工具窗口的 查询计划 选项卡中。 要可视化查询执行计划,请点击
显示图表… ,或按 Ctrl+Alt+Shift+U。
查询计划的不同视图会在独立的内部标签中显示。 这些内部标签可以通过 查询计划 页签底部访问。 它们默认隐藏,仅在打开多个标签时显示。
打开原始方案
右键点击一条 SQL 语句,然后选择
。
或者,在工具栏中点击
解释计划 ,然后选择 解释计划
默认情况下,查询方案的树形表示会显示在 服务 工具窗口的 查询计划 选项卡中。 点击
原始 位于标签页左侧工具栏。
DataGrip 会在 原始 内部标签中显示原始解释方案。 explain plan tree也依然可在 操作树 内部标签页中使用。
对于 执行计划(原始) ,该按钮会被 显示树 替换,并在 原始 旁边打开 操作树 内部标签。

生成 EXPLAIN 的火焰图
右键点击一条 SQL 语句,然后选择
。
或者,在工具栏中点击
解释计划 ,然后选择 解释计划
默认情况下,查询方案的树形表示会显示在 服务 工具窗口的 查询计划 选项卡中。 点击
火焰图 ,然后选择以下选项之一:
总成本 :返回所有行需要多长时间.
启动成本 :处理第一行所需的时间。
DataGrip 会在一个单独的内部选项卡中显示新打开的图形,并在 操作树 内部选项卡中保留树形表示。
