• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于MS?。樱眩獭。樱牛遥郑牛覕?shù)據(jù)庫的性能優(yōu)化

      2009-02-11 10:02:34
      新媒體研究 2009年1期
      關(guān)鍵詞:性能優(yōu)化數(shù)據(jù)庫

      劉 暢

      [摘要]通過對E-START股票交易系統(tǒng)的調(diào)整和優(yōu)化,實(shí)現(xiàn)縮短查詢響應(yīng)時(shí)間,系統(tǒng)的客戶端查詢速度也得到明顯的提高。

      [關(guān)鍵詞]數(shù)據(jù)庫 性能優(yōu)化 SQL Server

      中圖分類號:TP3 文獻(xiàn)標(biāo)識碼:A 文章編號:1671-7597(2009)0110051-01

      隨著現(xiàn)代計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展和信息應(yīng)用系統(tǒng)信息量的增大,數(shù)據(jù)庫已逐步成為計(jì)算機(jī)信息系統(tǒng)和計(jì)算機(jī)應(yīng)用系統(tǒng)的基礎(chǔ)和核心,而數(shù)據(jù)庫性能問題的重要性也越來越引起人們的關(guān)注。這樣,提出了基于SQL Server數(shù)據(jù)庫應(yīng)用系統(tǒng)如何進(jìn)行性能調(diào)整的問題。性能調(diào)整的步驟如下:

      1.優(yōu)化業(yè)務(wù)邏輯;2.調(diào)整數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);3.調(diào)整應(yīng)用程序結(jié)構(gòu);4.優(yōu)化數(shù)據(jù)庫的邏輯結(jié)構(gòu);5.優(yōu)化數(shù)據(jù)庫的操作;6.數(shù)據(jù)庫服務(wù)器性能調(diào)整。

      一、基于E-START股票交易系統(tǒng)的數(shù)據(jù)庫性能調(diào)整分析

      針對在數(shù)據(jù)庫使用過程中出現(xiàn)的問題,結(jié)合現(xiàn)有的數(shù)據(jù)庫調(diào)整措施和優(yōu)化技術(shù),對原E-START系統(tǒng)數(shù)據(jù)庫制定了以下調(diào)整步驟:

      1.優(yōu)化數(shù)據(jù)庫設(shè)計(jì)調(diào)整。針對出現(xiàn)的系統(tǒng)運(yùn)行效率低的問題,結(jié)合已有的業(yè)務(wù)邏輯,對原系統(tǒng)的相應(yīng)數(shù)據(jù)庫邏輯設(shè)計(jì)和物理結(jié)構(gòu)做出合理的調(diào)整。

      2.客戶端應(yīng)用程序調(diào)整。針對客戶的遇到的查詢等待問題,對應(yīng)用程序中影響查詢效率的不合理的設(shè)計(jì)進(jìn)行調(diào)整,包括:SQL查詢語句的優(yōu)化、應(yīng)用程序的調(diào)整、合理地增加存儲過程。

      3.服務(wù)器性能調(diào)整。針對使用過程中系統(tǒng)資源消耗大、運(yùn)行成本高的問題,通過對數(shù)據(jù)庫服務(wù)器硬件性能瓶頸的分析和調(diào)整及對SQL Server與操作系統(tǒng)參數(shù)的合理配置優(yōu)化服務(wù)器性能。

      二、數(shù)據(jù)庫設(shè)計(jì)調(diào)整

      (一)邏輯數(shù)據(jù)庫設(shè)計(jì)調(diào)整

      可以從以下幾個(gè)方面來精練數(shù)據(jù)庫的邏輯設(shè)計(jì):

      1.在適當(dāng)?shù)牡胤讲捎梅匆?guī)范形式;2.在適當(dāng)?shù)牡胤椒指畋恚?.在適當(dāng)?shù)牡胤桨驯磉M(jìn)行分組放入數(shù)據(jù)庫;4.執(zhí)行完整性約束。

      (二)調(diào)整物理數(shù)據(jù)庫設(shè)計(jì)

      對本項(xiàng)目物理數(shù)據(jù)庫設(shè)計(jì)的調(diào)整兩條關(guān)鍵性的指導(dǎo)原則如下:將序列訪問的文件分離到專用的磁盤上,并通過將數(shù)據(jù)文件分散到各個(gè)磁盤上而允許并行I/O。

      1.?dāng)?shù)據(jù)庫功能分配。該E-START股票交易系統(tǒng)升級項(xiàng)目采用的開發(fā)平臺為Windows 2000,數(shù)據(jù)庫為Microsoft SQL Server 2000。E-START系統(tǒng)的原數(shù)據(jù)庫包括兩個(gè)數(shù)據(jù)庫實(shí)例。

      對SQL Sever 2000系統(tǒng)功能上可以按四種系統(tǒng)數(shù)據(jù)庫和應(yīng)用數(shù)據(jù)庫進(jìn)行功能分配:master數(shù)據(jù)庫、tempdb數(shù)據(jù)庫,model數(shù)據(jù)庫、msdb數(shù)據(jù)庫、mbr_db應(yīng)用數(shù)據(jù)庫和E_START應(yīng)用數(shù)據(jù)庫。

      master數(shù)據(jù)庫記錄SQL Server系統(tǒng)的所有系統(tǒng)級別信息。tempdb數(shù)據(jù)庫保存所有的臨時(shí)表和臨時(shí)存儲過程,還滿足任何其它的臨時(shí)存儲要求。默認(rèn)情況下,在SQL Server在運(yùn)行時(shí)tempdb數(shù)據(jù)庫會根據(jù)需要自動增長。不過,與其它數(shù)據(jù)庫不同,每次啟動數(shù)據(jù)庫引擎時(shí),它會重置為其初始大小。model數(shù)據(jù)庫用作在系統(tǒng)上創(chuàng)建的所有數(shù)據(jù)庫的模板。msdb數(shù)據(jù)庫供SQL Server代理程序調(diào)度警報(bào)和作業(yè)以及記錄操作員時(shí)使用。

      2.優(yōu)化 tempdb 性能。對tempdb 數(shù)據(jù)庫的物理位置和數(shù)據(jù)庫選項(xiàng)設(shè)置的調(diào)整包括:

      (1)使用SQL Server企業(yè)管理器將tempdb數(shù)據(jù)庫設(shè)為允許自動根據(jù)需求進(jìn)行擴(kuò)展。(2)將tempdb數(shù)據(jù)庫文件的初始大小由原來的16MB調(diào)整到30MB,這是比較合理的大小,避免了當(dāng)需要更多空間時(shí)文件自動擴(kuò)展。(3)將文件增長增量百分比由原來的10%調(diào)整到20%,以避免tempdb數(shù)據(jù)庫文件按太小的值增長。(4)建議將tempdb數(shù)據(jù)庫放在快速I/O子系統(tǒng)上以確保好的性能。

      (三)創(chuàng)建索引

      可以在不影響數(shù)據(jù)庫架構(gòu)和應(yīng)用程序設(shè)計(jì)的情況下除去、添加和更改索引。高效的索引設(shè)計(jì)對獲得好的性能極為重要。正因?yàn)槿绱?,?yīng)該盡量試驗(yàn)不同的索引。索引優(yōu)化向?qū)Э煞治霾樵儾⒔ㄗh應(yīng)該創(chuàng)建的索引。

      關(guān)于創(chuàng)建索引的建議如下:

      1.將更新盡可能多的行的查詢寫入單個(gè)語句內(nèi),而不要使用多個(gè)查詢更新相同的行。僅使用一個(gè)語句,就可以利用優(yōu)化的索引維護(hù)。

      2.使用索引優(yōu)化向?qū)Х治霾樵儾@得索引建議。

      3.對聚集索引使用整型鍵。另外,在唯一列、非空列或IDENTITY列上創(chuàng)建聚集索引可以獲得性能收益。

      4.在查詢經(jīng)常用到的所有列上創(chuàng)建非聚集索引。這可以最大程度地利用隱蔽查詢。

      5.物理創(chuàng)建索引所需的時(shí)間在很大程度上取決于磁盤子系統(tǒng)。

      三、E-START股票交易系統(tǒng)客戶端應(yīng)用程序調(diào)整

      (一)系統(tǒng)架構(gòu)的調(diào)整

      由于本項(xiàng)目要將原有的VB6.0系統(tǒng)升級到VB.NET,必然導(dǎo)致整個(gè)系統(tǒng)架構(gòu)的調(diào)整,即把系統(tǒng)劃分為各種不同功能的層次結(jié)構(gòu),在對原有業(yè)務(wù)邏輯進(jìn)行充分調(diào)研后,調(diào)整后的系統(tǒng)架構(gòu)包含以下幾個(gè)層次:

      1. UI(用戶接口)層:保持與原VB6.0系統(tǒng)中E-Start客戶端界面一致;2. Controller(控制)層:主要功能是接收UI層的請求,根據(jù)請求調(diào)用相應(yīng)的業(yè)務(wù)邏輯,并把業(yè)務(wù)邏輯處理的結(jié)果返回給客戶端;3. Business(業(yè)務(wù))層:這層主要處理實(shí)際的業(yè)務(wù)邏輯,可以通過調(diào)用Entity(實(shí)體)層對數(shù)據(jù)庫進(jìn)行訪問。本層可以重用;4. Entity(實(shí)體)層:處于業(yè)務(wù)層與數(shù)據(jù)庫之間,為業(yè)務(wù)層提供數(shù)據(jù)訪問操作;5. Framework(架構(gòu))層:提供必要的錯(cuò)誤處理、日志、XML處理、通信服務(wù)、ExcelTalk和Spread的通用功能。

      (二)優(yōu)化SQL語句

      1.SQL語句的優(yōu)化分析。選擇最有效率的表名順序;WHERE子句中的連接順序;用EXISTS替代IN;優(yōu)化GROUP BY。

      2.使用優(yōu)化器優(yōu)化SQL語句。由于SQL語言是面向結(jié)果而不是面向過程的查詢語言,所以一般支持SQL語言的大型關(guān)系型數(shù)據(jù)庫都需要使用一個(gè)基于成本的優(yōu)化器,為即時(shí)查詢提供一個(gè)最佳的執(zhí)行策略。對于優(yōu)化器,輸入是一條查詢語句,輸出是一個(gè)執(zhí)行策略。這個(gè)執(zhí)行策略是執(zhí)行這個(gè)查詢所需要的一系列步驟。數(shù)據(jù)庫的反應(yīng)速度經(jīng)常就體現(xiàn)在這一個(gè)優(yōu)化算法上。

      四、結(jié)論

      對數(shù)據(jù)庫性能問題進(jìn)行深入研究,提出關(guān)于數(shù)據(jù)庫性能調(diào)整與優(yōu)化的具體方法和措施,對于解決數(shù)據(jù)庫瓶頸了保證數(shù)據(jù)庫穩(wěn)定高效運(yùn)行具有關(guān)鍵作用,也有著良好的理論與應(yīng)用價(jià)值。從某一具體項(xiàng)目來看,服務(wù)器參數(shù)配置,SQL語句優(yōu)化和存儲過程使用都是常用的調(diào)整技術(shù),但就一般性的原則來說,數(shù)據(jù)庫性能調(diào)整問題是貫穿數(shù)據(jù)庫應(yīng)用系統(tǒng)整個(gè)生命周期的活動,從系統(tǒng)規(guī)劃、程序編寫、系統(tǒng)測試、運(yùn)行維護(hù)都需要涉及性能調(diào)整技術(shù)。

      參考文獻(xiàn):

      [1]Art Taylor著,JDBC數(shù)據(jù)庫編程與J2EE,電子工業(yè)出版社,2004.

      [2]朱慶偉、吳宇紅,一種對象/關(guān)系映射框架的分析和應(yīng)用,電子科技,2004.

      [3]田珂、謝世波、方馬,J2EE數(shù)據(jù)持久層的解決方案,計(jì)算機(jī)工程,2003.

      猜你喜歡
      性能優(yōu)化數(shù)據(jù)庫
      數(shù)據(jù)庫
      SQL Server數(shù)據(jù)庫性能優(yōu)化的幾點(diǎn)分析
      Web應(yīng)用的前端性能優(yōu)化
      660MW超超臨界火電機(jī)組RB性能優(yōu)化
      數(shù)據(jù)庫
      Oracle數(shù)據(jù)庫性能調(diào)整與優(yōu)化分析
      科技視界(2016年1期)2016-03-30 14:27:50
      數(shù)據(jù)庫
      數(shù)據(jù)庫
      清新县| 获嘉县| 广州市| 南通市| 偃师市| 循化| 科技| 囊谦县| 西藏| 温泉县| 曲周县| 松江区| 红安县| 房山区| 新竹县| 北京市| 长子县| 高尔夫| 左云县| 和顺县| 门头沟区| 柳州市| 鄂托克旗| 兴城市| SHOW| 广东省| 花莲市| 安岳县| 平遥县| 湘潭市| 石门县| 孟州市| 湖州市| 民和| 乡城县| 灯塔市| 南岸区| 娄烦县| 黑河市| 揭阳市| 孟津县|