开发优质高效的informix数据库应用程序
informix数据库是一被广泛应用的关系型数据库,如何提高其应用性能是大家关心的话题,特别是随着数据库中数据量与应用处理交易量的不断增多,其运行效率问题尤显突出。众所周知,数据库应用系统的性能优化是一个高度复杂,异常繁琐而且涉及面很广的综合性工作。面对复杂的数据库应用系统性能调优,大家往往感到无从下手。其实对性能调优不外乎从网络、硬件、操作系统、数据库参数和应用程序等方面来考虑。事实上,对网络、硬件、操作系统、数据库参数进行优化所获得的性能提升全部加起来只占数据库应用系统性能提升的40%左右,其余的60%系统性能提升全部来自对应用程序的优化。
本文结合工作实践,从informix online参数的配置和性能调整、数据库表创建的方式、索引策略、查询语句(select)优化等方面对informix数据库应用系统的程序设计和数据维护提出一些优化措施。
一、 informix online参数设置的优化措施
informix数据库系统参数性能调整的优劣直接影响informix数据库运行效率。在决定进行系统性能调优时,首先应制定一个完整的调优方案,先监控系统并分析出问题所在,然后根据分析结果每次调整一个参数,再进一步监控系统查看系统性能有无变化,然后再做近一步的调节。其中有一个重要的原则:每次最好只调节一个参数。
数据库系统性能通常与磁盘i/o、cpu、共享内存和网络四个方面有关。至于此四个方面在性能调优中孰轻孰重,还要根据整个系统的实际情况具体问题具体分析。
1、磁盘i/o
对磁盘调整的原则是降低读盘次数,极大化每次读盘数据量,数据分布均匀,防止瓶颈的发生。informix online的磁盘空间应采用裸设备方式(raw device),而不应采用经过加工的文件空间(cooked file space),前者比后者处理速度要快得多,且可靠性高。影响磁盘i/o的几个online配置参数:
◆ ckptintvl:该参数指定检查点(checkpoint)之间的时间间隔。
◆ physfile:物理日志的大小建议为整个日志空间的25%。即:物理日志空间大小:逻辑日志空间大小=1:3
◆ lrus:该参数指示共享内存缓冲池中设置的最近最少使用队列数目。配置较多的lru队列将允许有更多的页清除器操作,并减少每个lru队列的大小。对于单cpu系统,informix建议设置lrus参数为最小值4。对于多cpu系统,informix建议设置lrus为最小值4和numcpuvps的取值之中较大的一个。
◆ cleaners:该参数指定执行的页清除线索的数目。参考下表:
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器