My FAQ,最新最全的IT技术FAQ
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 未整理篇 | 技术讨论
  当前位置: > IBM专区 > DB2 > 性能
开发 DB2 Web 应用程序的 5 项性能法则
作者:佚名 时间:2005-08-10 17:26 出处:互连网 责编:小渔
              摘要:用 C# Builder 开发 DB2 Web 应用程序的 5 项性能法则

sunny Australia
2002 年 8 月
通过应用一些简单的法则,便可以使 Internet 应用程序的速度从慢变快。在本文中,您将学习使用 Borland C#Builder 和 IBM DB2 Universal Database (UDB) 8.1 开发快速的 Microsoft ASP.NET Web 应用程序的 5 条法则。

简介
速度和可伸缩性是 Internet 开发的基本要求,并且它们并不总是难于达到的,仅仅是通过应用一些简单的法则,便可以使 Internet 应用程序的速度从慢变快。在本文中,您将学习使用 Borland® C#Builder TMIBM® DB2® Universal Database TM (UDB) 8.1 开发快速的 Microsoft® ASP.NET Web 应用程序的 5 条法则。

要分析 Web 应用程序的性能,您需要能够测量每个操作的性能的一些方法。为了实现这一点,我创建了 TimeDiff 类(参见 清单 1)来计算某些数据库操作的时间。您将使用这个类作为对数据库操作的一个基准测试,看看哪些操作最为高效。除了使用 TimeDiff 类,我还创建了一个名为 LOTSOFRECORDS 的表(参见 清单 2),它有 10,000 条记录,您可以通过它来观察不同技术之间的性能差异。DB2 有一个内部的缓冲池,只要有查询在运行,这个缓冲池就会起作用,它可以使对相同数据的第二次查询速度更快。因此,在执行查询基准测试的时候,应该忽略前几次检测结果,而尽量采用缓冲池可以发挥作用时的检测结果。

清单 1. TimeDiff 类
using System;
            namespace Effeciency
            {
            /// <summary>
            /// This class is used to time operations. In our example
            /// we will time the speed of certain database operations
            /// to compare them later.
            /// </summary>
            public class TimeDiff
            {
            DateTime StartTime;
            DateTime EndTime;
            public TimeDiff() {}
            public void Start()
            {
            StartTime = DateTime.Now;
            }
            public void Stop()
            {
            EndTime = DateTime.Now;
            }
            public string TimeDifferenceText
            {
            get
            {
            TimeSpan TimeDifference = EndTime - StartTime;
            return TimeDifference.ToString();
            }
            }
            }
            }
            
清单 2. LOTSOFRECORDS 表的 DDL
CREATE TABLE "GLENN   "."LOTSOFRECORDS"  (
            "KEYCOL" INTEGER NOT NULL ,
            "COL1" CHAR(50) ,
            "COL2" CHAR(50) ,
            "COL3" CHAR(50) ,
            "COL4" CHAR(50) ,
            "COL5" CHAR(50) ,