日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Oracle數(shù)據(jù)庫高性能秘密之數(shù)據(jù)高速緩存

瀏覽:57日期:2023-11-22 19:07:06

使用過Oracle數(shù)據(jù)庫的人都知道,Oracle數(shù)據(jù)庫的運行速度與效率,在同類數(shù)據(jù)庫中是名列前茅的,特別是對大量數(shù)據(jù)進行訪問時,更加有出色的表現(xiàn)。那么,Oracle數(shù)據(jù)庫是靠什么實現(xiàn)的呢?筆者下面將通過一系列的文章,向大家展示Oracle數(shù)據(jù)庫提供高性能運算的秘密。

Oracle數(shù)據(jù)庫作為復雜運算的首選數(shù)據(jù)庫,其首先是通過所謂的數(shù)據(jù)高速緩存來實現(xiàn)對數(shù)據(jù)的高速運算與操作的。

數(shù)據(jù)高速緩存跟操作系統(tǒng)的緩存類似,其存儲最近從數(shù)據(jù)文件中讀取的數(shù)據(jù)塊,其中的數(shù)據(jù)可以被所有的用戶所訪問。如當我們利用Select語句從數(shù)據(jù)庫中查詢員工信息的時候,其首先不是從數(shù)據(jù)文件中去查詢這個數(shù)據(jù),而是從數(shù)據(jù)高速緩存中去查找,而沒有這個必要再去查詢磁盤中的數(shù)據(jù)文件了。只有在數(shù)據(jù)緩存中沒有這個數(shù)據(jù)的時候,數(shù)據(jù)庫才會從數(shù)據(jù)文件中去查詢。Oracle數(shù)據(jù)庫為什么要如此設計呢?這是由于數(shù)據(jù)庫在讀取數(shù)據(jù)的時候,讀取內存的速度比讀取磁盤的速度要快很多倍,所以這種機制可以提高數(shù)據(jù)的整體訪問效率。

雖然其他數(shù)據(jù)庫也有這方面的設計,但是,相對來說,Oracle數(shù)據(jù)庫比其他數(shù)據(jù)庫,在這方面有更加出色的表現(xiàn)。難怪Oracle數(shù)據(jù)庫在內存的要求上,比其他數(shù)據(jù)庫要高。若以稍微的代價犧牲一些內存,而換取更高的數(shù)據(jù)訪問性能。筆者認為還是值得的。下面我們就來看看,Oracle數(shù)據(jù)庫在數(shù)據(jù)高速緩存上有哪些特殊的表現(xiàn)。

一、 空閑緩存塊

當我們重新啟動數(shù)據(jù)庫后,系統(tǒng)就會為數(shù)據(jù)庫分配一些空閑的緩存塊。空閑緩存塊中是沒有任何數(shù)據(jù)的,他在那邊默默的等著別寫入記錄。當Oracle 數(shù)據(jù)庫從數(shù)據(jù)文件中讀取數(shù)據(jù)后,數(shù)據(jù)庫就會尋找是否有空閑的緩存塊,以便將數(shù)據(jù)寫入其中。

一般來說,數(shù)據(jù)庫在啟動的時候,就會在內存中預先分配這些緩存塊。所以,Oracle數(shù)據(jù)庫在啟動的時候,會占用比較多的內存。但是,這可以免去在實際需要時向內存申請的時間。所以,有時候Oracle數(shù)據(jù)庫雖然已啟動,內存的占用率就很高,但是,其后續(xù)仍然可以正常運行的原因。而其他數(shù)據(jù)庫雖然剛啟動的時候內存占用率不是很高,但是,但系統(tǒng)內存到達80%以上時,在進行數(shù)據(jù)處理就會受到明顯的影響。

所以,當我們利用SELECT語句從數(shù)據(jù)庫文件中讀取文件的時候,數(shù)據(jù)庫首先會尋找是否有空閑的緩存。

二、命中緩存塊

當SELECT語句先從數(shù)據(jù)庫文件中讀取數(shù)據(jù)后,會把取得的數(shù)據(jù)放入到這個命中緩存塊中。也就是說,當我們利用查詢語句從數(shù)據(jù)庫查詢處員工信息后,這個信息就會被保存在高速緩存中。直道高速緩存消耗完畢等原因,這個空間才會被釋放。如此的話,下次用戶在查詢員工信息的時候,就不需要從數(shù)據(jù)庫文件中再次查詢相關信息,而直接從數(shù)據(jù)高速緩存中提取數(shù)據(jù),從而提高數(shù)據(jù)庫的訪問效率。

另外要注意的一個問題是,命中緩存塊中的數(shù)據(jù)不會被寫入數(shù)據(jù)文件。確實,這個命中緩存塊中的數(shù)據(jù)沒有被更改,其當然也不會被寫入數(shù)據(jù)庫文件中。

三、臟緩存塊

當我們利用SELECT查詢語句把員工信息的數(shù)據(jù)查詢出來后,數(shù)據(jù)庫會把這個數(shù)據(jù)所存儲的空緩存塊做標記,表示該緩存塊已經存有數(shù)據(jù),使命中緩存塊。此時,我們若在利用數(shù)據(jù)更新語句UPDATE對其中某條記錄進行更新時,如要把張三的名字改為張四。運行UPDATE語句后,數(shù)據(jù)庫也首先從高速緩存中查找是否有這條記錄,若存在這條記錄的話,就直接更改這條記錄,并且把該緩存塊標記為贓緩存塊。如此的話,就可以保持數(shù)據(jù)的一致性。

也就是說,臟緩存塊存儲的是已經被修改過的,但是還沒有寫入到數(shù)據(jù)庫文件的信息。當SQL的UPDATE等數(shù)據(jù)更新語句對某個緩存塊中的數(shù)據(jù)進行更改之后,這個命中緩存塊就會被數(shù)據(jù)庫標記為臟緩存塊。當滿足一定的條件時,這些臟緩存塊中的數(shù)據(jù)內容會被寫入到數(shù)據(jù)庫文件中去,以便永久性的保留數(shù)據(jù)庫修改記錄。

當系統(tǒng)中沒有空閑緩存塊,而用戶又需要查詢數(shù)據(jù)時,數(shù)據(jù)庫就查詢當前所有的臟緩存塊,把最先更改的臟緩存塊中的內容先寫入數(shù)據(jù)庫文件中,以便釋放這個臟緩存塊。數(shù)據(jù)庫就又會把這個臟緩存塊標記為空閑緩存塊,以方便用戶下次存入數(shù)據(jù)。

那Oracle數(shù)據(jù)庫到底是通過什么手段,來控制空閑緩存塊、命中緩存塊、臟緩存塊之間的相互轉換的呢?說出來也許你不相信,Oracle數(shù)據(jù)庫就是通過兩張表,來管理這么復雜的功能。這兩張表分別是DIRTY列表與LRU列表。

其中LRU列表保存著所有空閑緩存塊、命中緩存塊已經還沒有被移入到DIRTY列表中的臟緩存塊。當Oracle數(shù)據(jù)庫用戶在查詢數(shù)據(jù)的時候,可能會遇到如下情況:

1、當用戶查找員工信息時,數(shù)據(jù)庫首先在LRU列表中查詢是否有空閑緩存塊。其查詢的數(shù)據(jù)是從尾部開始查找。當查找有空閑的緩存塊時,數(shù)據(jù)庫就會把查到的數(shù)據(jù)寫入到這個空閑緩存中。

2、若數(shù)據(jù)庫在查詢的時候,首先查到的是臟緩存的話,則會把這個臟緩存移動到DIRTY列表中,然后再繼續(xù)查詢,直到查詢到合適的空閑緩存塊為止。

3、若數(shù)據(jù)庫在LRU列表中,從尾到頭查了一遍,沒有找到空閑緩存塊,或者雖然有空閑緩存塊,但是其容量不符合要求時,數(shù)據(jù)庫就會暫時結束這一次查找。然后,系統(tǒng)就會觸發(fā)數(shù)據(jù)庫寫進程,把DIRTY列表中的臟緩存塊寫入到數(shù)據(jù)庫中去。已經被寫入到數(shù)據(jù)庫文件中去的臟緩存塊將又被數(shù)據(jù)庫標記為空閑緩存塊,并插入到LRU列表中。當數(shù)據(jù)庫執(zhí)行完畢這個動作之后,數(shù)據(jù)庫又會對LRU列表進行搜索,找到合適的數(shù)據(jù)高速空閑緩存之后,就會把讀取的數(shù)據(jù)寫入到這個空閑緩存中。所以,我們在利用數(shù)據(jù)庫的時候,會發(fā)現(xiàn)有時候讀取大量數(shù)據(jù)的時候,速度會比較慢。除了其他原因外,也有一部份原因是因為數(shù)據(jù)庫沒有查到足夠大的空閑緩存在存放這些數(shù)據(jù),故只好寫進行讀寫操作,以釋放更多的臟緩存,然后再進行查詢操作。

知道了這些數(shù)據(jù)庫高速緩存工作原理之后,我們數(shù)據(jù)庫管理員又該做些什么呢,來對Oracle數(shù)據(jù)庫進行優(yōu)化。為此,筆者有以下建議:

1、為Oracle數(shù)據(jù)庫配置盡量大的內存。Oracle數(shù)據(jù)庫最新版本,根據(jù)官方的建議,其內存需要1G。雖然在低于這個內存數(shù)量的時候,數(shù)據(jù)庫仍然可以運行,但是,其運行適度會大打折扣。當查詢大量數(shù)據(jù)的時候,更是比較吃力。筆者現(xiàn)在使用的數(shù)據(jù)庫服務器,是使用了4個G的內存。以前我用的是2個G的。內存升級后,發(fā)現(xiàn)數(shù)據(jù)庫的性能得到了比較大的改善。

2、在對數(shù)據(jù)進行查詢操作時,盡量使用限制條件。如現(xiàn)在需要查詢銷售部門的員工信息時,我們不需要查詢全部的員工信息,而是在SELECT語句中,利用WHERE條件語句設置查詢條件。如此的話,就可以充分利用DIRTY列表中的空閑緩存塊,而不會因為空閑緩存塊容量不夠而頻繁的去執(zhí)行數(shù)據(jù)庫寫操作。這會明顯降低數(shù)據(jù)庫的運行操作。同時,在查詢時,最好也能夠明確查詢的信息,如你只需要員工的姓名與入職日期,那就不需要把員工的出生年月、身份證號碼都查詢出來。所以,有時候合理設計視圖,也可以提高數(shù)據(jù)庫的運行效率。

3、最好不要在數(shù)據(jù)庫服務器上運行其他的服務。在數(shù)據(jù)庫服務器中,若還運行其它服務器的話,除了硬件資源爭奪影響服務器的運行效率之外,還會產生一個問題。就是會使得數(shù)據(jù)庫的數(shù)據(jù)高速緩存塊不連續(xù)。這會直接影響數(shù)據(jù)庫查詢空閑緩存塊的效率。對臟緩存塊進行數(shù)據(jù)庫寫入操作以及數(shù)據(jù)庫進行標記之間的轉換也會產生影響。所以,根據(jù)筆者的經驗,數(shù)據(jù)庫服務器最好能夠獨立。最多只能跟其對應的應用服務器部署在同一臺服務器上。如現(xiàn)在Oracle數(shù)據(jù)庫是一臺ERP系統(tǒng)的后臺數(shù)據(jù)庫,最好數(shù)據(jù)庫能夠跟ERP服務器分開部署。但是,若由于服務器資金的限制,那么可以把ERP應用服務器跟數(shù)據(jù)庫服務器部署在一臺服務器上。但是,不能再跟郵件服務器等應用服務器放在一起。這會影響數(shù)據(jù)高速緩存的管理效率,從而最終影響數(shù)據(jù)庫的運行效能。現(xiàn)在服務器價格逐漸下滑,服務器的成本已經不是影響企業(yè)數(shù)據(jù)庫應用的關鍵。所以,出于數(shù)據(jù)庫性能考慮,筆者認為,企業(yè)在這上面還是應該大方的進行投資。沒必要為了這么一點點錢,影響到數(shù)據(jù)庫的性能。

日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品流白浆在线观看| 国产高清久久| 亚洲黄页一区| 国产99精品| 亚洲高清影视| 亚洲欧美成人综合| 亚洲毛片一区| 国产精品免费不| 国产激情综合| 国产资源在线观看入口av| 久久久久国产精品一区三寸| 午夜免费一区| 亚洲精品乱码久久久久久蜜桃麻豆| 午夜一区在线| 国产精品亚洲综合在线观看| 欧美国产偷国产精品三区| 久久亚洲国产| 日本va欧美va瓶| 国产欧美大片| 欧美日韩精品一区二区视频| 亚洲人成高清| 欧美日韩精品一本二本三本 | 成人在线视频免费| 福利精品一区| 久久久久九九精品影院| 日韩免费看片| 成人片免费看| 欧美日中文字幕| 亚洲二区免费| 亚洲免费在线| 日韩专区视频网站| 91福利精品在线观看| 国产欧美日韩一级| 中文字幕一区二区三区日韩精品 | 日韩精品视频网| 日韩二区三区四区| 日韩精品视频在线看| 91精品国产自产观看在线| 国产精久久久| 亚洲精品一区三区三区在线观看| 久久视频国产| 美女黄网久久| 日本精品国产| 精品视频黄色| 欧美午夜精彩| 中文不卡在线| 国产精品对白| 欧美综合另类| 蜜臀91精品国产高清在线观看| 亚洲午夜在线| 黑森林国产精品av| 久久精品97| 精品国产欧美日韩| 91一区二区三区四区| 亚洲精品一二| 福利视频一区| 亚洲午夜国产成人| 成人国产精品一区二区免费麻豆| 91超碰国产精品| 国产精品天堂蜜av在线播放| 久久久人人人| 日本欧美大码aⅴ在线播放| 国语精品一区| 久热精品在线| 精品视频自拍| 国产精品普通话对白| 久久精品99国产精品日本| www.九色在线| 蜜桃久久久久久久| 久久精品一区二区国产| 亚洲一区日韩在线| 久久久久久婷| 亚洲人妖在线| 婷婷精品视频| 国产另类在线| 怡红院精品视频在线观看极品| 国产精品二区影院| 好吊日精品视频| 欧美国产先锋| 天堂av在线一区| 动漫av一区| 亚洲欧美日韩视频二区| 国产一区二区精品久| 日韩一级欧洲| 亚洲精品日韩久久| 99精品99| 日韩一区二区三区免费播放| 日韩高清不卡在线| 亚洲欧美日韩在线观看a三区| 精品国产欧美| 日韩不卡一二三区| 国产精品日韩欧美一区| 日韩欧美一区免费| 日本欧美一区二区在线观看| 欧美日韩精品一本二本三本| 丁香婷婷久久| 日韩精品一区二区三区中文在线 | 日韩综合一区二区| 午夜国产一区二区| 色欧美自拍视频| 国产日韩欧美高清免费| 视频一区二区国产| 国内精品99| 麻豆成全视频免费观看在线看| 日韩精品欧美成人高清一区二区| 欧美日韩国产亚洲一区| 性欧美videohd高精| 久久亚洲精品中文字幕| 欧美中文高清| 日韩和欧美一区二区| 不卡一区2区| 国内在线观看一区二区三区| 日本天堂一区| 国产精品国码视频| 日本不卡一区二区| 欧美一级精品| 99视频精品视频高清免费| 国产成人久久精品一区二区三区| 日本午夜精品一区二区三区电影| 亚洲一区亚洲| 亚洲免费成人| 午夜久久黄色| 亚洲国产一区二区三区在线播放| 日韩毛片在线| 99精品美女| 亚洲精品一级二级| 天堂中文av在线资源库| 国产成人久久精品一区二区三区| 麻豆精品视频在线观看视频| 欧美久久香蕉| 国产精品v日韩精品v欧美精品网站| 亚洲免费观看| 夜夜嗨一区二区三区| 国产精品7m凸凹视频分类| 日韩一区自拍| 影音国产精品| 亚洲精品少妇| 国产另类在线| 久久影院一区二区三区| 精品免费av| xxxxx性欧美特大| 激情欧美一区| 激情综合自拍| 亚洲一区免费| 日韩精品成人| 久久99影视| av资源新版天堂在线| 亚洲啊v在线| 激情欧美一区二区三区| 亚洲欧洲另类| 日韩国产在线不卡视频| 麻豆国产精品| 久久精品国产网站| 亚洲女同一区| 中文字幕中文字幕精品| 亚洲精品四区| 日本亚洲不卡| 国产精品久久亚洲不卡| av高清不卡| 免费精品视频| 国产精品久久国产愉拍| 97精品一区| 亚洲视频www| 日韩国产在线一| 超碰在线99| 欧美资源在线| 欧美黑人做爰爽爽爽| 激情综合在线| 18国产精品| 日韩高清中文字幕一区二区| 欧美成人综合| 亚洲欧美专区| 久久麻豆视频| 亚洲精品在线影院| 亚洲专区一区| 免费日韩一区二区三区| 婷婷亚洲五月| 国产精品三级| 欧美精选视频一区二区| 最新国产精品视频| 国产一区二区三区黄网站| 亚洲一级高清| 欧美国产极品| 一区在线免费观看| 欧美国产先锋| 欧美影院三区| 国产日韩一区二区三区在线| 久久久成人网| 91精品国产自产精品男人的天堂| 国产精品一区二区精品| 免费观看在线综合色| 精品资源在线| 国产精品sm| 午夜免费一区| 免费一级欧美片在线观看网站| 免费成人网www| 麻豆视频一区| 亚洲精品自拍| 精品中文字幕一区二区三区av| 国产欧美日韩一区二区三区四区 |