zoukankan      html  css  js  c++  java
  • 利用Explain分析SQL【监控】

    Explain 表格式化命令 第 7 页(共9 页)


    db2exfmt 工具用于处理插入到 Explain 表中的信息。DB2 使用这些表来记录有关 SQL 不同组成部分的所有信息以及优化信息。当您使用 Visual Explain 工具时,会自动为您创建这些表。如果您最初使用文本工具,那么您首先必须运行一个脚本来创建这些表。在您所连接的 db2 实例主目录下的misc 子目录(比如我的:/home/db2inst1/sqllib/misc/目录下)中执行下列命令。将为您创建所有表和索引。

    下面是 Explain 表出错消息:

    Explain 表错误

    下面是适当的命令:

    
    db2 connect to databaseName
    db2 -tvf EXPLAIN.DDL
    
    

    db2exfmt 工具的不同之处在于,它使用已经捕获的信息,然后用一种易于读取的格式来表示它。该工作完成后,填充 Explain 表。

    捕获 Explain 信息

    捕获 Explain 信息的最简单方法是将 SQL 存储在文本文件中,然后可以从 DB2 命令行处理器(CLP)(在 Windows 中)或从命令行(在 UNIX 或 Linux 中)运行它。DB2 有一个变量 CURRENT EXPLAIN MODE,它确定是否捕获 Explain 信息。可以对该变量进行设置,使得每当执行查询时,就让 DB2 填充 Explain 表。下面是执行这一工作的适当命令:

    
    db2 SET CURRENT EXPLAIN MODE [no | yes | explain]
    
    

    下面是 CURRENT EXPLAIN MODE 可能使用的值:

    • NO: 该值是缺省值;查询正常执行
    • YES: 查询正常执行,同时捕获 Explain 信息
    • EXPLAIN: 不执行查询,但是将 Explain 信息填入表

    下面是一个示例:

    Explain 示例

    使用工具

    db2exfmt 有许多选项,这些选项允许您选择您希望使用的 Explain 语句。您还可以对显示哪些信息进行控制。最简单的方法是全部使用缺省值,这样就会使该工具返回有关最近解释过的语句的信息:

    db2exfmt

    下面是样本查询摘要输出:

    查询输出 1

    下面是样本查询树信息:

    查询输出 2

  • 相关阅读:
    区分git ,github,github桌面版,gitbash、gitshell
    Andrew Ng机器学习课程笔记(四)之神经网络
    Andrew Ng机器学习课程笔记(三)之正则化
    Andrew Ng机器学习课程笔记(二)之逻辑回归
    Andrew Ng机器学习课程笔记(一)之线性回归
    python机器学习实战(四)
    python机器学习实战(三)
    python机器学习实战(二)
    python机器学习实战(一)
    如何去破解所有的window和offices(超级全面)
  • 原文地址:https://www.cnblogs.com/jackhub/p/3147217.html
Copyright © 2011-2022 走看看