informix调优(转)

本文探讨了Informix数据库SQL查询调优的方法,包括调优标准、使用的时间和资源监控工具如time、timex和vmstat,以及Informix的SET EXPLAIN工具。调优标准关注响应时间和资源利用率,而调优过程涉及分析查询执行计划和成本。文章强调了数据库管理员在调优中的角色,以及优化器如何选择最佳查询路径。
摘要由CSDN通过智能技术生成
Jianing Fan

高级软件工程师, Motorola

2004 年 11 月

SQL 查询构成了 Informix? 数据库应用程序的主干。本文将讨论 Informix 的 SQL 查询调优指导原则,查看调优 SQL 查询时需要考虑的因素,同时还将探讨作者本人体验过的一些调优示例。

简介

通常认为 SQL 查询的调优是程序员和开发人员的主要责任,但是数据库管理员也应积极参与该过程。数据库管理员参与 SQL 查询调优的主要好处之一是,他们可以提出不同的观点。程序员是从应用程序性能的角度来考虑问题的,而 DBA 考虑问题时理解了数据库本身,从而可以对数据库的布局、表和索引的安排,以及 Informix 和系统资源(包括数据分段、PDQ 优先级、CPU 时间、内存利用率和数据存储)的有效使用提出意见和建议。有时,程序员和开发人员就性能而言仅仅需要获取不同的查询视图,因此他们可以修改该查询,以获得更高的效率。

本文将介绍多种调优方法。 第 1 部分将介绍调优标准、工具以及一套通用方法。此外,还将讨论优化器的角色,其中包括 OPTCOMPIND 参数、查询命令和内部统计数据。

第 2 部分仍然是调优,我将介绍查询本身的性能考虑,其中包括访问方法、连接方法、表和索引的区段、索引层次、分段以及 PDQ 优先级。第 2 部分还将包含示例及分析。

调优标准

调优标准基本上是依据个人的业务需求而定的。一般,主要涉及系统和数据库的性能。那么您又该如何配置系统和数据库性能呢?有多方面的考虑,但是最关键的就是 响应时间和 资源利用率。响应时间指的是用户等待他们的请求(即 SQL 查询)得到完成的时间。资源利用率指的是执行 SQL 查询时,CPU、内存和磁盘等系统资源的使用。

通常,如果完成调优过程之后,调优之后的 SQL 查询的响应时间变短了,而系统资源的利用率降低了,那么您就可以充满信心地推断:您已经调优该 SQL 查询,并获得了更高的效率。如何测量 SQL 查询的响应时间和资源利用率呢?Unix 和 Informix 提供了一些工具和实用程序,帮助我们科学、定量地测量响应时间和资源利用率。

调优工具

Unix 工具

Time 和 timex

您可以使用 time 实用程序来报告一些系统操作的响应时间,例如文件传送、数据库的查询执行以及其他活动。下面的实例展示了如何使用 time 实用程序来测量一个简单数据库查询的响应时间:


sys3523:omcadmin > time dbaccess airgen_cm_db sel.sql

Database selected.

(count(*))

5958

1 row(s) retrieved.

Database closed.

real 0m0.09s

user 0m0.01s

sys 0m0.06s



 


上面输出的最后一部分给出了详细的操作时间统计数据,该操作在本例中就是数据库查询:

“real”字段告诉您从查询开始到结束时所经过的时间。

“user”字段告诉您用户处理器为该操作而占用的 CPU 时间总和。

“sys”字段告诉您整个系统占用的 CPU 时间总和。

我们最感兴趣的是“real”字段;该字段表示操作的响应时间。让我们仔细查看一下上面的这个例子。通过输出,我们可以确定该查询的响应时间是 0.09 秒。

Timex 只是 time 实用程序的另一个变种,它将以更易读的格式显示时间。下面是同一查询的 timex 输出:


sys3523:omcadmin > timex dbaccess airgen_cm_db sel.sql

Database selected.

(count(*))

5958

1 row(s) retrieved.

Database closed.

real 0.09

user 0.02

sys 0.04



 


Vmstat

vmstat 实用程序深入挖掘系统并报告系统资源使用的统计数据,主要涉及运行的处理器、虚拟内存、磁盘 I/O、中断和 CPU。它还显示一行系统重启或启动以后的虚拟内存活动的摘要信息。下面是一个输出示例:


sys3523:omcadmin > vmstat 1 10

procs memory page disk faults cpu

r b w swap free re mf pi po fr de sr m0 m1 m4 m5 in sy cs us sy id

0 0 0 1959208 1294824 141 824 1 1 1 0 0 0 0 0 0 906 946 700 2 3 95

0 0 0 1995568 1260288 0 46 0 0 0 0 0 0 0
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值