在性能调优工作中,首要的事情是找出性能瓶颈。而针对数据库应用,由于商用数据库对上层应用来说是个黑盒,所以往往需要借助数据库的一些接口或工具来了解数据库的具体行为,并结合相关知识和业务进行调测。
简单来说,数据库在执行一个查询之前,会为该查询生成一个最优(至少它这样认为)的查询计划(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语句都执行出计划文件,文件一多可能会导致失败。
分享到:
相关推荐
标签中包含的“SQLAnywhere”和“SybaseIQ”都是Sybase公司的产品。SQLAnywhere是一个轻量级的数据库管理系统,适合移动设备和分布式环境,而Sybase IQ则专注于数据仓库和分析应用。这些标签强调了该驱动程序适用于...
本文档将详细介绍Sybase IQ 12.7中关于大对象管理的相关知识点,包括LOBS的数据类型、存储方式、操作方法以及最佳实践等内容。 #### 二、大对象(LOBs)概述 在Sybase IQ中,大对象是指那些可以存储非常大的文本、...
SAP Sybase IQ 提供了一种基于角色的安全模型,该模型能够控制对数据库对象的访问以及执行特许操作。此模型允许管理员对要授予用户的特权进行完全控制和细分。为了执行特定的操作,数据库中的每项特许操作都需要将一...
- **SQL接口**:用户可以通过SQL接口与Sybase IQ进行交互,执行查询、插入、更新和删除等操作。 - **数据加载**:Sybase IQ提供了多种工具和API进行数据加载,包括ETL(提取、转换、加载)工具和编程接口。 - **...
例如,可以创建名为"oinstall"和"dba"的组,以及"sybaseiq"的用户,并将用户添加到这两个组中。 ```bash groupadd oinstall groupadd dba useradd -m -g oinstall -G dba sybaseiq passwd sybaseiq # 修改sybaseiq...
- BI工具集成:了解Sybase IQ与常见商务智能工具(如SAP BusinessObjects、Tableau等)的集成方法。 通过这个PPT教程,你将能够逐步掌握Sybase IQ的各个方面,无论是基础操作还是高级功能,都将助你在实际项目中...
根据提供的文档信息,我们可以从标题、描述以及部分内容中提取出关于Sybase IQ的关键知识点。...通过阅读这份文档,读者可以了解到Sybase IQ 在现代数据管理和分析领域的重要地位及其实现高性能查询处理的方法和技术。
Sybase IQ 提供了几种不同的数据导出方法,其中包括使用`option`关键字进行导出。这种方式可以导出二进制数据,非常适合大批量数据的导出任务。通过研究并改进现有的东软导出工具,可以实现批量表数据的导出功能,这...
- 利用Sybase IQ提供的工具查看查询优化器生成的执行计划,帮助理解查询如何被分解和执行。 - **索引管理**: - Sybase IQ支持多种类型的索引,包括B树索引、位图索引等。合理使用索引可以显著提升查询性能。 ####...
综上所述,SYBASE IQ是一款功能强大且高度优化的数据库管理系统,特别适用于需要处理大量数据和执行复杂查询的场景。通过对语法、函数、存储过程等内容的深入了解,可以更好地利用其特性来提升系统的整体性能和稳定...
它能够根据数据库的物理布局和查询语句的特征,自动选择最佳的执行计划。用户还可以通过创建索引、分区、物化视图等手段进一步优化查询性能。 **六、数据仓库设计与管理** 在使用Sybase IQ构建数据仓库时,需要...
使用命令行进入Sybase IQ的安装目录,执行解压操作: ```bash cd /sybase/iq126/setup gzip -d -c S.tgz CD00012-55-1260-01.tgz | tar -vxzf - gzip -d -c S.tgz EBF13892.tgz | tar -vxzf - ``` 此步骤中,`gzip...
《SybaseIQ12.7新增功能解析》 一、概览 Sybase IQ是SAP旗下的一款高性能列式数据库管理系统,专为大数据分析而设计。Sybase IQ 12.7版本作为其系列中的重要更新,引入了多项增强功能和优化措施,旨在提升数据处理...
- Sybase IQ具备强大的查询优化器,能够自动选择最佳的查询执行计划,确保查询效率。 - 它支持复杂的SQL查询,并且可以在没有索引的情况下也保持良好的查询性能。 **3. 数据压缩** - Sybase IQ提供了高效的数据...
在查询处理方面,Sybase IQ的查询优化程序会根据查询语句和数据分布情况选择最优的执行计划,从而确保查询操作的高效性。此外,Sybase IQ还支持基于列的索引,这种索引特别适合于列式数据库,能够进一步提升查询效率...
下面,我们将深入探讨“sybaseIQ性能调优”这一主题,主要基于提供的文档名称,如“sybaseIQ性能优化.doc”和“SybaseIQ性能调优.doc”。 1. **理解Sybase IQ架构**:Sybase IQ采用列式存储方式,这使得对大量数据...
Sybase IQ 服务器是整个系统的中心组件,主要负责处理数据查询请求、执行查询优化等核心功能。其特点包括: - **定制化配置**:可根据特定需求进行定制配置。 - **单一数据库支持**:设计为仅支持一个 Sybase IQ ...
### Sybase IQ 12.7 发布公告详解 - HP-UX #### 一、产品概述 Sybase IQ 12.7是一款由Sybase Inc.开发的数据仓库和分析数据库解决方案,专门针对HP-UX环境进行了优化。此版本强调了对HP-UX操作系统的支持,特别是...
《Sybase IQ12.5 & 12.6 中文快速参考手册》是一份详尽的指南,专为Sybase IQ数据库系统的管理和操作人员设计。Sybase IQ是一款高性能、高容量的列式数据库管理系统,特别适用于数据仓库和商业智能(BI)应用。此...