`
lizhiyu211
  • 浏览: 225413 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SYBASE IQ 执行计划查看方法

阅读更多

在性能调优工作中,首要的事情是找出性能瓶颈。而针对数据库应用,由于商用数据库对上层应用来说是个黑盒,所以往往需要借助数据库的一些接口或工具来了解数据库的具体行为,并结合相关知识和业务进行调测。
    简单来说,数据库在执行一个查询之前,会为该查询生成一个最优(至少它这样认为)的查询计划(Query Plan),然后再根据计划的指示来执行实际的操作和处理。如果能了解到查询计划,也就能知道一个查询真正是怎样执行下来的、时间都耗在哪里、有哪些影响 因素等。
第一步:创建报告目录
在正常运行的时候,查询计划是不会显式生成的,但经过后面步骤的配置后,可以指示IQ将每次查询的计划显式生成为文件供开发人员查阅,所以需要预先为其创建一个目录,如:
mkdir /export/home/zyx/ganjd
其中目录可以随意制定,但为了多个开发人员共用服务器的时候不互相影响,应该各自创建自己的目录。该目录应该对运行IQ服务器所使用的帐号有读写权限,最简单就是直接将该目录chmod为777就可以了。
第二步:配置链接选项
就是通过修改数据库的配置项,让IQ在执行查询的时候生成查询计划的报告。一般可以直接在链接了IQ的客户端程序(如Aqua Data Studio或Interactive SQL)上使用下面的语句配置即可:
SET TEMPORARY OPTION QUERY_PLAN_AS_HTML_DIRECTORY ='/export/home/zyx/ganjd';
SET TEMPORARY OPTION QUERY_PLAN = ON;
SET TEMPORARY OPTION QUERY_DETAIL = ON;
SET TEMPORARY OPTION QUERY_TIMING = ON;
SET TEMPORARY OPTION QUERY_PLAN_AFTER_RUN = ON;
SET TEMPORARY OPTION QUERY_PLAN_AS_HTML = ON;
SET TEMPORARY OPTION INDEX_ADVISOR = ON;
SET TEMPORARY OPTION NOEXEC = ON;
需要注意的是,虽然在语法上上述SET OPTION中的TEMPORARY不是必须的, 但建议加上,用于指定该选项的修改只对当前链接有效,并且在链接断开后自动恢复。这样就可以避免多个开发人员共用服务器的时候的冲突。

 

 

简单说明各个选项的含义:
QUERY_PLAN_AS_HTML_DIRECTORY:指定查询计划报告的存放路径,也就是前面一步所创建的目录即可。
QUERY_PLAN:告诉IQ需要显式生成执行计划供人工查阅。
QUERY_DETAIL:指定在查询计划报告中包含详细信息,建议加上以便得到更详细的信息供调优分析。
QUERY_TIMING:指定收集计时统计信息,否则报告中会缺少时间、耗时的信息,不便于分析性能。
QUERY_PLAN_AFTER_RUN:在执行完查询之后,打印整个查询计划。具体意义不用很考究,打开就是了。
QUERY_PLAN_AS_HTML:查询计划报告用HTML的格式输出,这样就可以通过浏览器查看,很方便。
INDEX_ADVISOR:让IQ给出一个针对该查询的索引优化建议,一般就是IQ认为在某些列上增加某类索引可以提升该查询性能。该建议无法替代人,尤其是结合业务的分析,只作参考,但对存在严重性能问题的查询还是比较有用的。
NOEXEC:ON表示Excute该查询时不会真正执行(也就不会有结果出来),而只生成查询计划;OFF表示该查询会被真正执行,同时输出计 划。可以根据实际要求选择,缺省是OFF。而ON对于带修改的查询(例如“update gan_SDR set CI = '0CAB' where ID = 74567”)来说是很方便的,因为这样数据不会被真正修改,可以重复获取查询计划。
第三步:执行查询
就是执行一个查询语句。这里说的“查询”不只限于select,带条件的update、insert和delete都是包含查询处理的,也会得到对应的查询计划。例如:
update gan_SDR set CI = '0CAB' where ID = 74567
查询必须在第二步修改配置项的数据库链接上执行。因为正如前文所述,那些配置项只对当前链接生效,如果链接关闭即使重连,配置也不再生效。
执行的sql语句在一个新建的窗口上执行,不然会将窗口里的所有sql语句都执行出计划文件,文件一多可能会导致失败。

分享到:
评论

相关推荐

    Sybase IQ 16.0中文版本 参考:语句和选项

    本手册适用于需要 SAP Sybase IQ SQL 语句和数据库选项的相关参考资料的 SAP® Sybase® IQ 用户。 有关 SAP Sybase IQ 其它方面的参考资料(包括语言元素、数据类型、函数、系统过 程和系统表),请参见《参考:...

    Sybaseiq安装文档.doc

    整理了详细的sybaseiq的安装文档,包括在linux环境下和windows环境下服务端的安装和客户端的连接。亲测可执行。

    SybaseIQ12.7实用程序指南

    本书提供有关与 Sybase IQ 搭配使用的实用程序的参考资料。实用程 序是指那些可直接从操作系统调用的命令。还有其它书籍提供了有 关如何执行特定任务的详细背景信息。您可使用此参考书来查找可 用的语法、参数和选项...

    Sybase IQ 16.0中文版本 实用程序指南

    本指南适用于需要实用程序参考资料的 SAP® Sybase® IQ 实用程序用户。 实用程序是指那些可直接从操作系统调用的命令。... SAP Sybase IQ 16.0 文档集中的其它手册则提供有关如何执行特定任务的详细背景信息。

    Sybase IQ 16.0中文版本 管理:用户管理和安全

    SAP® Sybase® IQ 提供一种基于角色的安全模型, 用于控制对数据库对象的访问及用于执行特许操作。 此模型为要授予用户的特权提供完全控制和细分。 数据库中的每项特许操作都要求将一项或多项系统特权或对象级特权...

    SybaseIQ12.7参考手册中文版

    希望能给大家提供帮助 本手册提供 Sybase IQ 多个方面的参考资料,其中包括 SQL 语句、语 言元素、数据类型、函数、系统过程和系统表。其它手册提供有关如 何执行特定任务的详细信息。在本参考手册中可以查找可用的 ...

    Sybase IQ参考手册

    本手册提供 Sybase IQ 多个方面的参考资料,其中包括 SQL 语句、语 言元素、数据类型、函数、系统过程和系统表。其它手册提供有关如 何执行特定任务的详细信息。在本参考手册中可以查找可用的 SQL 语法、参数和选项...

    Sybase IQ 16.0中文版本 参考:构建块、表和过程

    本手册面向需要 SQL ...资料的 SAP® Sybase® IQ 用户。 其它手册提供有关如何执行特定任务的详细信息。可以使用本手册来获取有关 SQL 语法、参数和选项的信息。有关命令行实用程序启动参数,请参见《实用程序指 南

    SYBASE IQ ODBC 32位驱动 v16.00.00.428

    SYBASE IQ ODBC 32位驱动 v16.00.00.428 解压后管理员执行install.bat 安装 odbc32位驱动支持64位环境以及32位环境。

    SybaseTransfer:Sybase数据库迁移

    本项目基于Java语言实现了一个Sybase数据库迁移解决方案,并提供了跨版本迁移特性(已验证的版本是Sybase IQ 12.5 -> Sybase IQ 15.4)。 完整的数据库迁移步骤如下图: 上面4个步骤之间是顺序执行的,在某个具体...

    IQ参考手册_语句和选项_ZHS.pdf

    本手册提供了Sybase IQ SQL 语句和数据库选项的参考资料。有关 Sybase IQ 其它方面的参考资料(包括语言元素、数据类型、函数、 系统过程和系统表)可在《参考:构件块、表和过程》中找到。其它手册提供有关如何执行...

    IQ参考手册_构建块、表和过程_ZHS

    本手册提供 Sybase IQ 多个方面的参考资料,其中包括 SQL 语句、 语言元素、数据类型、函数、系统过程和系统表。其它手册提供有关如何执行特定任务的详细信息。在本参考手册中可以查找可用的SQL 语法、参数和选项等...

    Aqua Data Studio 9.0.16 part 1

    11/10/9/8) (Sybase IQ - 12.x, 15) (Teradata 12) (Aster nCluster 4.0) (Informix IDS - 11.x/10/9.x/7.x) (PostgreSQL - 8.4/8.x/7.x) (MySQL - 5.x/4.x/3.x) (Apache Derby 10.x) (Generic JDBC Platform) ...

    Aqua Data Studio 8.0.25 part 4

    11/10/9/8) (Sybase IQ - 12.x, 15) (Teradata 12) (Aster nCluster 4.0) (Informix IDS - 11.x/10/9.x/7.x) (PostgreSQL - 8.4/8.x/7.x) (MySQL - 5.x/4.x/3.x) (Apache Derby 10.x) (Generic JDBC Platform) ...

    Aqua Data Studio 9.0.16 part 2

    11/10/9/8) (Sybase IQ - 12.x, 15) (Teradata 12) (Aster nCluster 4.0) (Informix IDS - 11.x/10/9.x/7.x) (PostgreSQL - 8.4/8.x/7.x) (MySQL - 5.x/4.x/3.x) (Apache Derby 10.x) (Generic JDBC Platform) ...

    Aqua Data Studio 9.0.16 x64 Portable part 1

    11/10/9/8) (Sybase IQ - 12.x, 15) (Teradata 12) (Aster nCluster 4.0) (Informix IDS - 11.x/10/9.x/7.x) (PostgreSQL - 8.4/8.x/7.x) (MySQL - 5.x/4.x/3.x) (Apache Derby 10.x) (Generic JDBC Platform) ...

    Aqua Data Studio 9.0.16 Portable part 1

    11/10/9/8) (Sybase IQ - 12.x, 15) (Teradata 12) (Aster nCluster 4.0) (Informix IDS - 11.x/10/9.x/7.x) (PostgreSQL - 8.4/8.x/7.x) (MySQL - 5.x/4.x/3.x) (Apache Derby 10.x) (Generic JDBC Platform) ...

    Aqua Data Studio 9.0.16 x64 part 1

    11/10/9/8) (Sybase IQ - 12.x, 15) (Teradata 12) (Aster nCluster 4.0) (Informix IDS - 11.x/10/9.x/7.x) (PostgreSQL - 8.4/8.x/7.x) (MySQL - 5.x/4.x/3.x) (Apache Derby 10.x) (Generic JDBC Platform) ...

    Aqua Data Studio 9.0.16 x64 part 2

    11/10/9/8) (Sybase IQ - 12.x, 15) (Teradata 12) (Aster nCluster 4.0) (Informix IDS - 11.x/10/9.x/7.x) (PostgreSQL - 8.4/8.x/7.x) (MySQL - 5.x/4.x/3.x) (Apache Derby 10.x) (Generic JDBC Platform) ...

Global site tag (gtag.js) - Google Analytics