• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    3條規則幫你迅速提高DB2 Web的程序性能

    發布: 2009-9-16 11:09 | 作者: 不詳 | 來源: 領測軟件測試網 | 查看: 37次 | 進入軟件測試論壇討論

    領測軟件測試網

    3條規則幫你迅速提高DB2 Web的程序性能  web測試

    關鍵字:數據庫設計  

    速度和可升級性是網絡開發重要的性能要求,而且它們也不難達到。應用一些簡單的規則會提高網絡應用的性能。在本文中,您將了解到使用Borland® C#Builder和IBM® DB2®通用數據庫(UDB)8.1開發快速Microsoft® ASP.NET Web應用程序的5條規則。

    分析Web應用程序的性能需要利用一些手段來檢測每個操作的性能。為此,我創建了一個TimeDiff類(見程序清單1),它可以計算數據庫操作的用時。你可以利用TimeDiff類的檢測結果作為衡量數據庫操作性能的基準,來觀察哪些操作最為有效。我還創建了一個配合TimeDiff 類使用的LOTSOFRECORDS表(見程序清單2),它包含10,000條記錄,你可以通過對它的操作來觀察不同技術之間的性能差異。DB2具有內部緩沖池,一旦運行一個查詢,內部緩沖池啟用,因此二次查詢的速度較快。在檢測查詢速度時,請忽略緩沖池啟用前的結果而采用啟用后的結果。

    程序清單1. TimeDiff類

    using System; namespace Effeciency { /// /// 這個類用于時間計算。在例子中, /// 我們將利用它檢測數據庫操作的速度, /// 以便作性能上的比較。 /// 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的表定義

    CREATE TABLE "GLENN "."LOTSOFRECORDS" ( "KEYCOL" INTEGER NOT NULL , "COL1" CHAR(50) , "COL2" CHAR(50) , "COL3" CHAR(50) , "COL4" CHAR(50) , "COL5" CHAR(50) , "COL6" CHAR(50) , "COL7" CHAR(50) , "COL8" CHAR(50) , "COL9" CHAR(50) , "COL10" CHAR(50) ) IN "USERSPACE1" ; COMMENT ON TABLE "GLENN "."LOTSOFRECORDS" IS ' Table designed to Contain Lots of Records'; -- DDL Statements for primary key on Table "GLENN "."LOTSOFRECORDS" ALTER TABLE "GLENN "."LOTSOFRECORDS" ADD CONSTRAINT "CC1058255334652" PRIMARY KEY ("KEYCOL");

    下面,我們就開始介紹這些提高DB2 UDB Web 應用程序性能的規則。我會先介紹提高數據庫性能的基本規則,然后列出一些適合以Borland Data Provider開發ASP.NET應用時的性能規則。

    規則1:按需檢索

    如果你只能記得住一條規則,那一定要記住這一條:按需檢索。如果你是“幸存者”電視節目的忠實觀眾,您會記得其中的參賽者通過限額分配來保證每個人都有充足的食物。這種做法對于數據庫開發同樣適用。如果你的應用程序能夠按需運行,那么就會合理地將數據庫和網絡資源留給其他應用。這聽起來很簡單,但我們還是來看一個例子。

    假設有一個包含10,000 行記錄和10 個字段的表,以及一個需要顯示所有記錄但只顯示3個字段的Web頁。很多開發者經常圖省事而使用"select *"語句選擇所有的字段:

    select * from GLENN.LOTSOFRECORDS

    這種做法應當避免,而應力求只檢索需要的字段?梢栽SQL 語句中定義要檢索的字段,例如:

    select KEYCOL, COL1, COL2, COL7 from GLENN.LOTSOFRECORDS

    在本文附帶的源程序中,有兩個ASP.NET頁面:一個是RetrievingAllFields.aspx,它執行第一個查詢;另一個是RetrievingLimitedFields.aspx ,它執行第二個查詢,即只檢索需要的字段。

    用TimeDiff類進行檢測,執行第一個查詢用了1.622 秒,執行第二個查詢用了1.311秒。后者用時只是前者的80%,不僅用時少,而且還減少了Web應用程序和數據庫服務器之間的網絡數據堵塞。

    這個例子只限制了檢索的字段,你還可以使用WHERE語句限制檢索的記錄數。WHERE 語句可以限制服務器返回的記錄數(見程序清單3)。要記住,通過網絡發送的記錄數據越少,對應用程序、數據庫、用戶和網絡越有好處。

    規則2:優化數據庫

    有時候你的Web應用程序可能運行得不錯,但你想讓它更好。一個簡單的減少搜索時間的方法是為特定字段創建索引。如果有一個查詢是要搜索某個價格范圍內的產品(見程序清單3),但你沒有為價格字段定義索引,那么返回數據就會多花一些時間。而一旦建立了索引,DB2會很快返回你想要的結果。

    程序清單3. 利用索引進行數據庫搜索

    SELECT  PRODUCTCODE, PRODUCTNAME, DESCRIPTION, UNITPRICE FROM  GLENN.PRODUCTLIST WHERE  UNITPRICE > 20.00

    優化數據庫不只是為搜索字段創建索引這么一條,你應當盡可能多地搜集相關的DB2信息以使應用程序運行得更好。經常訪問IBM發者園地(IBM DB2 Developer Domain)和comp.databases.ibm-db2(comp.databases.ibm-db2)等一些相關的Web站點或新聞組,對于保持DB2開發技巧不斷更新是一個很好的辦法。

    你還應當努力熟悉DB2附帶的工具,例如DB2索引建議器(Index Advisor)。DB2索引建議器可以根據你遞交的查詢和所連接的數據庫返回最佳索引列表。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: web Web WEB 程序 規則 性能


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>