科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Informix-Online数据库的查询优化策略 (1)

Informix-Online数据库的查询优化策略 (1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Informix-Online 动态服务器(IDS,Informix-Online Dynamic Server)作为Informix数据库产品技术的核心,以其动态可伸缩体系结构,高效的并行处理能力

作者:yashi 来源:赛迪网 2007年9月19日

关键字: Online Informix SET 数据库 MySQL

  • 评论
  • 分享微博
  • 分享邮件
 

Informix-Online 动态服务器(IDS,Informix-Online Dynamic Server)作为Informix数据库产品技术的核心,以其动态可伸缩体系结构,高效的并行处理能力、共享内存技术及易管理性等特点,将硬件资源发挥得淋漓尽致。当前IDS V7正广泛地应用于我国金融、邮政、电信等行业的关键系统中,随着应用的不断深入,数据的积累,查询的复杂化,查询速度会变慢,致使响应时间过长。许多用户将其归结为硬件的原因,于是升级改造,或重新投资,数据库的调优并没有引起足够的重视。这其实是一种浪费,与国外发达国家轻硬件、重应用的思路正好相反。实践表明,数据库的不合理配置和不适当优化是其性能下降的主要因素。实施对IDS上数据库的管理维护、性能调优是系统管理员的主要工作,而能否得以良好的查询响应则集中体现了数据库的性能,因此也是调优的重点。从系统管理的角度,我们可以设置多线索、合理分配共享内存空间、建立数据库和表的分布及分片管理等来加快查询速度,但最终还要基于对数据库本身的全面理解,因为数据处于不断的变化和积累之中,并且随着应用的深入查询将日趋复杂化。本文从数据管理的角度阐述了几种查询优化策略,实际应用中有很好的收效,现说明如下。

一、查询的分类及要求

针对语句中所涉及的数据库表的数目查询可分为:单表查询、多表查询、联合查询、子查询等,多表查询建立在多张表的连接之上,分嵌套循环、合并排序、哈希连接三种方式,最为复杂,也是调优的重点。目前数据库的应用分为联机事务处理(OLTP,Online Transaction Processing)和决策支持系统(DSS,Decision Support System)两大类型,它们对查询的要求不尽相同。OLTP主要涉及单张表,SQL语句简单,数据按索引读取,查询行数少,对响应的时间要求非常苛刻,常在秒级或以下,多用于在线实时业务;DSS涉及多张表之间的连接查询,SQL语句复杂,数据按物理顺序读取,查询行数多,响应时间长,多用于建立在数据仓库技术之上的复杂的数据分析。但无论何种情况,我们都希望最快的响应速度,这也是调优的最终目标。

二、查询的优化策略

1.充分利用查询优化器

查询优化器提供了数据查询的优化策略分析和选择方式,通过设置相关参数,优化器能够选择最佳的连接策略,并在所有的查询路径中找出一条最优路径。选择良好的路径是查询优化中至关重要的一环,一条好的路径可以扫描最少的记录,以最少的磁盘I/O得到正确的查询结果。可通过以下步骤进行。

(1)设置连接策略

通过修改配置文件$ONCONFIG中的OPTCOMPIND参数值来实现。

OPTCOMPIND 0:在连接中优化器只选择索引连接。

OPTCOMPIND 1:若事务处理为可重复读模式(Repeatable Read),则选择索引策略,否则,优化器自动选择开销最低的连接策略。

OPTCOMPIND 2:优化器自动选择开销最低的连接策略。应尽量选择该参数。

(2)设置查询优化的模式

也即选择最优的查询路径,通过执行以下SQL语句来实现,格式为:

SET OPTIMIZATION [ HIGH | LOW | FIRST_ROWS | ALL_ROWS ]

其中,HIGH是缺省选项,表示对所有查询路径都进行检测,从中选择最优。

LOW表示采用深度优先法仅在部分路径中选择最优,即在每次连接比较中,遇到最优路径就继续深入而滤掉非最优路径,特点是优化时间短,但路径准确率低。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章