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

  • 相关阅读:
    10. Regular Expression Matching
    9. Palindrome Number (考虑负数的情况)
    8. String to Integer (整数的溢出)
    7. Reverse Integer (整数的溢出)
    LeetCode Minimum Size Subarray Sum
    LeetCode Course Schedule II
    Linux 文件缓存 (一)
    LeetCode Tries Prefix Tree
    Linux : lsof 命令
    LeetCode Binary Tree Right Side View
  • 原文地址:https://www.cnblogs.com/jackhub/p/3147217.html
Copyright © 2011-2022 走看看