999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟件開發中如何高效使用數據庫

2012-10-15 12:39:04楊俊生
科技傳播 2012年23期
關鍵詞:數據庫

楊俊生

大連理工大學城市學院計算機工程分院,遼寧大連 116600

通常一個應用軟件系統中涉及網絡系統、計算機系統、應用軟件系統以及數據庫系統。這些系統需要高效、協調一致地工作,方能給客戶提供良好的服務,客戶對系統的滿意度很大程度上取決于客戶的體驗,包括系統界面友好、簡單易用、健壯可靠、安全高效等。

當系統在并發量不高的情況下,上述的用戶體驗大都可以滿足,但當并發量持續增加時,系統整體性能逐漸走低,數據庫系統將成為主要的性能瓶頸。

當前系統硬件水平發展很快,CPU運算速度、內存速度容量、網絡速度等都在大幅度提高,通過更換硬件設備提高性能無疑是一種解決辦法,但系統內部問題卻容易被忽視,系統性能問題很多來自于系統設計本身。

1 應用軟件中數據庫系統操作響應時間分析

圖1 客戶執行操作的內部處理

當前的主流應用軟件體系結構為B/S結構,客戶在瀏覽器中進行一項操作,信息的傳遞過程是:

1)提交請求到應用服務器;

2)應用服務器接收并處理信息;

3)應用服務器訪問數據庫系統;

4)數據庫系統處理數據;

5)數據庫系統返回處理結果給應用服務器;

6)應用服務器處理返回結果;

7)應用服務器將最終顯示信息傳遞到瀏覽器。

客戶執行操作的內部處理參見圖1所示。

客戶執行一項操作的響應時間是上述7個步驟的執行時間之和,其中4部分是網絡傳輸時間,2部分是應用服務器處理時間,1部分是數據庫處理時間。

在這幾個部分中真正與數據庫系統相關的操作時間是應用服務器與數據庫系統間的網絡傳輸時間和數據庫系統內部的處理時間。

2 數據庫系統操作響應時間優化措施

根據上述分析得知數據庫系統響應時間主要集中在網絡傳輸和數據庫系統內部處理時間,針對這兩種情況我們分別具體分析。

2.1 通過批處理方式優化網絡傳輸時間

應用服務器和數據庫系統之間的數據傳輸時間取決于傳輸的數據量和次數,對于定量的數據,傳輸的次數將主要決定傳輸需要的總時間。

一次數據傳輸包括發送端準備數據時間、數據在網絡中傳輸時間、接收端接收數據時間、接收端返回響應數據在網絡中傳輸時間。

例如向數據庫表中連續插入10 000條記錄,兩種選擇,第一種逐條插入,第二種批量插入,以下是在Oracle10g版本中測試的跟蹤信息,圖2是逐條插入時的跟蹤信息,圖3是每1 000條插入一次的跟蹤信息。

圖2 逐條插入網絡時間

圖3 批量插入網絡時間

圖2顯示在網絡中傳輸數據時等待次數累計20 000次、累計時間3.12秒,圖3顯示等待次數累計20次、累計時間0.04秒,可見批處理方式可顯著降低網絡傳輸所消耗的時間。

數據庫的批處理不僅可用于向數據庫中存儲數據,也可以用于從數據中讀取數據,圖4顯示逐條讀取數據的跟蹤信息,圖5顯示每次讀取1 000條的跟蹤信息。

圖4 逐條讀取網絡時間

圖5 批量讀取網絡時間

圖4顯示網絡中傳輸數據時等待次數累計20 000次、累計時間2.69s,圖5顯示等待次數累計20次,累計時間0.18s。上述試驗證明大數據量操作時,批處理方式可大幅度提高效率。

2.2 優化數據庫處理時間

圖6 硬解析

圖7 軟解析

圖6顯示硬解析10 000次,累計時間消耗10.45秒,圖7顯示只發生1次硬解析,消耗時間幾近為0。軟解析的實現與應用開發中SQL語句的編寫直接相關,例如:“select name from tbluser where userid=1”和“select name from tbluser where userid=2”兩條語句,他們的差別在于查詢條件的值不同,又比如“SELECT name FROM tbluser where userid=1”和“select name from tbluser where userid=1”兩條語句,他們的差別在于關鍵字select和from的大小寫不同,這些對于數據庫來說可能都是不同的SQL語句。

Oracle數據庫中保存SQL解析信息時以整個SQL文本計算的哈希值作為鍵值,SQL文本的細微差異都會導致硬解析發生。

進行軟件開發時需要定義SQL開發規范,規定SQL文本中的大小寫限制、空格多少等,其次要使用預編譯語句(比如jdbc中使用PreparedStatement),避免SQL語句中直接寫查詢條件值,應由變量替代,以提高軟解析率。

通過減少讀寫次數降低IO響應時間。

數據庫的讀操作分為物理讀和邏輯讀兩種,物理讀指從磁盤讀取數據,邏輯讀指從內存獲取數據。在計算機的存儲結構中,磁盤讀寫的速度遠低于內存讀寫速度,為降低讀操作響應時間,要盡可能減少讀,更要盡可能減少磁盤讀,減少讀但不能避免讀。合理利用索引結構定位數據可大大降低讀的數據量,圖8顯示有索引情況下讀10000行數據的統計信息。

圖8 有索引的數據讀

圖7和圖8的數據都來源于查詢同一數據庫表的10000行記錄,區別在于圖8顯示表中有索引時的查詢統計信息。分析這兩個圖中Fetch行中query列的數據量可知,沒有索引時查詢走全表掃描,讀10000行數據累計讀680000塊數據,平均讀每行數據要掃描68塊才讀到需要的數據;有索引情況下讀10000行數據累計讀30020塊數據,平均讀每行數據僅掃描3.002塊,首先查找索引獲得數據的ROWID,再根據ROWID讀數據行,從而避免了全表掃描。減少物理讀的有效措施是提高緩存存儲量,使用內存緩存讀取過的數據,使之后的數據讀取直接從內存中獲得。

數據庫的寫操作由后臺進程完成,數據庫系統為提高性能,都是先寫日志文件,再根據觸發條件寫數據文件。這里與SQL編寫相關的是日志文件的寫操作,提交(COMMIT)語句直接觸發日志文件的寫操作,每執行一次提交操作,數據庫會立即寫日志文件,這時就是一次物理寫,物理寫過于頻繁會大大降低系統性能,這時可考慮批量操作后再提交,比如向表中插入10 000數據,可每插入1 000行提交1次,避免每插入1行提交1次。

3 結論

本文在分析軟件系統中數據庫系統的操作響應時間的基礎上,結合實際測試給出軟件開發過程中可對數據庫性能進行優化的具體措施。這些措施已經實施在基金項目中,系統性能得到了大幅度提高。

[1]吳越勝,張耀輝.Oracle9i數據庫性能調整與優化[M].清華大學出版社,2005.

[2]蔣海鷗,李浩,金海.未公開的Oracle數據庫秘密[M].人民郵電出版社,2011.

[3]蓋國強,馮春培,葉梁,馮大輝.Oracle數據庫性能優化[M].人民郵電出版社,2005.

[4]童家旺,胡怡文,馮大輝.Oracle性能診斷藝術[M].人民郵電出版,2009.

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 99久久精品美女高潮喷水| 国产av一码二码三码无码| 在线综合亚洲欧美网站| 原味小视频在线www国产| 五月婷婷亚洲综合| 亚洲性网站| a毛片免费在线观看| 日韩欧美视频第一区在线观看| 国产农村妇女精品一二区| 欧美亚洲第一页| 91精选国产大片| 婷婷色狠狠干| 久久这里只有精品国产99| 国产偷倩视频| 日韩AV无码一区| 青青青国产视频手机| 国产日本欧美在线观看| 国产在线专区| 亚洲欧洲日本在线| 国内精品伊人久久久久7777人| 亚洲精品国产日韩无码AV永久免费网| a色毛片免费视频| 国产精品亚欧美一区二区| 亚洲最新在线| 色老头综合网| 国产Av无码精品色午夜| 亚洲福利片无码最新在线播放 | av午夜福利一片免费看| 日韩一级毛一欧美一国产| 国产精品美人久久久久久AV| 久久国产亚洲偷自| 日本午夜精品一本在线观看| 亚洲专区一区二区在线观看| 成人国产免费| 日本一本在线视频| 久久久久亚洲精品成人网 | 日本黄色不卡视频| 综合色天天| jizz在线观看| av一区二区无码在线| av大片在线无码免费| 日韩AV手机在线观看蜜芽| 亚洲丝袜第一页| 91在线无码精品秘九色APP | 无码久看视频| 伊人蕉久影院| 免费毛片a| 一级做a爰片久久毛片毛片| 性色一区| www.91在线播放| 亚洲成网站| 一级一毛片a级毛片| 国产午夜福利片在线观看| 伊人国产无码高清视频| 欧美精品在线看| 狠狠色婷婷丁香综合久久韩国| 国产91丝袜| 久久99精品久久久久久不卡| 91午夜福利在线观看| 日本精品中文字幕在线不卡| 国产三级国产精品国产普男人| 性做久久久久久久免费看| 狠狠亚洲五月天| 91久久精品国产| 亚洲资源在线视频| 永久免费精品视频| 国产Av无码精品色午夜| a级毛片在线免费| 亚洲福利视频网址| 青青热久麻豆精品视频在线观看| 国产嫖妓91东北老熟女久久一| 国产精品美女自慰喷水| 久久一本精品久久久ー99| 精品午夜国产福利观看| 亚洲区视频在线观看| 国产精品久久久久鬼色| 久久综合丝袜长腿丝袜| AV色爱天堂网| 国产美女自慰在线观看| 色天天综合| 人妖无码第一页| 欧美亚洲第一页|