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

SQL優(yōu)化分析

2014-01-01 00:00:00劉明信
消費電子·下半月 2014年4期

摘要:在數(shù)據(jù)庫系統(tǒng)中,最重要的一個考核的指標(biāo)是運行的速度,然而影響系統(tǒng)的運行速度及其對系統(tǒng)資源占用最多的一個因素是SQL語句的執(zhí)行,效能欠佳的SQL語句在執(zhí)行時能夠消耗系統(tǒng)資源的70-80%,如何提高系統(tǒng)的運行速度,SQL的性能優(yōu)化至關(guān)重要。本文首先從數(shù)據(jù)庫SQL著手,分析性能優(yōu)化的原理,提出采用的性能優(yōu)化措施。

關(guān)鍵詞:SQL優(yōu)化;優(yōu)化器

中圖分類號:TP311.138文獻標(biāo)識碼:A文章編號:1674-7712 (2014) 08-0000-01

一、數(shù)據(jù)庫中性能優(yōu)化的必要性

關(guān)于性能優(yōu)化,最簡單的理解就是為了保證系統(tǒng)準確率的情況下,用最快的速度及最短的時間來完成特定的任務(wù),而數(shù)據(jù)庫的性能優(yōu)化主要是通過對數(shù)據(jù)庫的索引程序、數(shù)據(jù)庫的語言、硬件等等進行必要的調(diào)試,從而對數(shù)據(jù)庫的每個部分進行必要的優(yōu)化處理,達到提高效率的目的。

在Oracle數(shù)據(jù)庫系統(tǒng)中,SQL語句的優(yōu)化至關(guān)重要,性能不佳的語句是影響系統(tǒng)的運行的關(guān)鍵因素之一。據(jù)不完全統(tǒng)計,大約有90%的性能出現(xiàn)問題主要是出在運用了不恰當(dāng)?shù)牟樵冋Z句而造成的。SQL語句易寫但不易寫好,程序設(shè)計人員有時只注重結(jié)果而對其性能確忽略了,往往會導(dǎo)致其系統(tǒng)的運行效率不理想。隨著數(shù)據(jù)庫的相關(guān)對象以及數(shù)據(jù)量的改變,需要對SQL語句進行不斷的效能調(diào)整。對海量的數(shù)據(jù)而言,優(yōu)質(zhì)SQL語句與劣質(zhì)語句間的速度差別能夠達到百倍以上,或者更多,特別對復(fù)雜的或大型的數(shù)據(jù)庫更明顯。如何優(yōu)化SQL語句,提高系統(tǒng)的運行速度,成為有關(guān)程序研究員較為關(guān)心的問題之一。

二、SQL語句優(yōu)化的方法

(一)Oracle優(yōu)化器

Oracle優(yōu)化器是SQL處理的核心,目前支持兩種優(yōu)化器:基本規(guī)則的RBO、基于成本的CBO、選擇性CHOOSE優(yōu)化器。為了避免進行掃描全表,可以直接使用基于成本的優(yōu)化器及基本規(guī)則的優(yōu)化品,盡量不要使用CHOOSE優(yōu)化器。

1.基于規(guī)則的RBO優(yōu)化器

表1RBO路徑等級表

基于規(guī)則的RBO優(yōu)化器,主要是采用規(guī)則或者啟發(fā)的方法來生成執(zhí)行計劃。在RBO中,如果有索引則將其與該優(yōu)化程序一起用。表1是RBO路徑等級,等級高的效率低,耗費時間多,等級低的效率高,耗費的時間也就少。對一段SQL的語句,按表1中15年級別進行對每個句子打分,得分最少的其方案則最優(yōu)。

2.基于成本的CBO優(yōu)化器

基于成本的CBO優(yōu)化器主要是把一個引擎集成到數(shù)據(jù)庫的內(nèi)核中,對每一個執(zhí)行計劃需要的成本進行估計,對耗費資源進行量化,根據(jù)成本選出成本最少的作為最優(yōu)路徑。在耗費資源中,一個查詢分成3部分:CPU成本、I/O成本及Network成本。

3.CHOOSE優(yōu)化器

在缺省情況下,ORACLE采用CHOOSE優(yōu)化器。

(二)共享SQL語句

對SQL語句解析是比較費系統(tǒng)資源的,將會導(dǎo)致其性能下降,為了對SQL語句不重復(fù)的進行解析,可以利用SGA(系統(tǒng)全局區(qū)域)將SQL語句進行存儲,實現(xiàn)用戶共享。比如一個SQL語句第一次被解析后,Oracle將結(jié)果放在SGA共享池中,如果第二次被執(zhí)行時,就不用再對此語句進行分析,直接從共享池中獲取本語句的執(zhí)行路徑。這樣Oracle便在很大程度上提高了SQL的執(zhí)行的性能,并且能夠大大的節(jié)省內(nèi)存的使用。

要實現(xiàn)共享SQL語句,必須是當(dāng)前要執(zhí)行的語句與共享池中的語句要完全相同,如果參數(shù)不同、變量不同、空格數(shù)不同、出現(xiàn)大小寫不一致都將不匹配,不能實現(xiàn)共享。

(三)優(yōu)化SQL語句索引

提高數(shù)據(jù)庫運行效率最重要的因素是利用好索引。索引能夠提供快速訪問rod_id,這樣能夠?qū)崿F(xiàn)提升效率,特別是對大型表的索引效率會明顯提升。但如果索引使用的不當(dāng),會造成事倍功半的效果,因此優(yōu)化SQL語句索引特別重要,如何創(chuàng)建索引及使用索引,應(yīng)該注意以下幾點:(1)在where中出現(xiàn)頻繁的列上建立索引;(2)頻繁操作的order by或group by操作的列上建立索引;(3)盡量不在要重復(fù)率高的字段上建立索引;(4)對于小于5M的表,就不要使用索引;(5)多列進行排序的,可建立復(fù)合索引在列上,但盡量少用復(fù)合索引;(6)不同值較少的列上盡量不要那間索引;(7)對數(shù)據(jù)記錄進行大批量的操作(如delete、insert),最好將索引先刪除,進行數(shù)據(jù)操作后再重新建立必要的索引;(8)數(shù)據(jù)類型要注意匹配;(9)對于操作符的使用,要避免使用!=或<>等,這樣會造成系統(tǒng)無法用索引,而是直接從表中搜索數(shù)據(jù)

(四)執(zhí)行計劃

在執(zhí)行程序時,每執(zhí)行一個語句前,Oracle都將會生成一個查詢執(zhí)行計劃,該計劃決定了SQL語句將如何執(zhí)行。在語句執(zhí)行之前,計劃在生成的過程當(dāng)中采用了不同信息,如對象的尺寸、優(yōu)化器模式、索引存在、儲存概要的存在、HINT的出現(xiàn)、生成的統(tǒng)計量等等

三、結(jié)束語

ORACLE數(shù)據(jù)庫是一個很復(fù)雜的軟件,它的可調(diào)性很強。SQL語句優(yōu)化是提高數(shù)據(jù)庫運行速度的關(guān)鍵因素,隨著數(shù)據(jù)庫系統(tǒng)的應(yīng)用及數(shù)據(jù)量的不斷變化,所采用的優(yōu)化策略也應(yīng)隨著調(diào)整。對于SQL的優(yōu)化涉及到多個方方面面,在設(shè)計過程中要針對不同的場景采用不同的方法,開發(fā)人員、數(shù)據(jù)庫的管理人員及應(yīng)用程序設(shè)計人員應(yīng)該不斷的對SQL語句執(zhí)行的計劃進行分析,對SQL語句的性能及結(jié)果進行比較,找到性能較好的語句及執(zhí)行計劃,從而改善ORACLE數(shù)據(jù)庫的運行的性能。

參考文獻:

[1]張桂燕.基于數(shù)據(jù)庫的語句優(yōu)化經(jīng)驗之談[J].電腦知識與技術(shù),2011(17).

[作者簡介]劉明信(1960.03-),高級工程師,學(xué)士學(xué)位,研究方向:數(shù)據(jù)庫。

主站蜘蛛池模板: 一级做a爰片久久免费| 国产乱人伦偷精品视频AAA| 久久国产黑丝袜视频| 亚洲精品福利视频| 久久久精品国产SM调教网站| 亚洲色欲色欲www网| 激情综合婷婷丁香五月尤物 | 好吊色妇女免费视频免费| 久久免费看片| 天天综合色天天综合网| 熟妇无码人妻| 欧美成人午夜影院| 干中文字幕| 日韩中文字幕免费在线观看| 欧美精品在线免费| 国产午夜一级毛片| A级毛片无码久久精品免费| 国产福利小视频高清在线观看| 日本一本正道综合久久dvd| 四虎永久在线| 亚洲天堂免费在线视频| 国内精品一区二区在线观看| 2020国产免费久久精品99| 免费中文字幕在在线不卡| 中日无码在线观看| 人妻无码中文字幕一区二区三区| 国产视频资源在线观看| 日韩欧美中文亚洲高清在线| 99热亚洲精品6码| 亚洲国产成熟视频在线多多| 精品精品国产高清A毛片| 欧美精品黑人粗大| 色综合天天综合中文网| 日本不卡在线| 国产午夜福利亚洲第一| 国产91成人| 国产美女久久久久不卡| 精品成人一区二区三区电影| 欧美日韩一区二区三| 亚洲清纯自偷自拍另类专区| 亚洲色欲色欲www在线观看| 91精品国产麻豆国产自产在线| 欧美高清视频一区二区三区| 波多野结衣一区二区三区AV| 天堂网亚洲系列亚洲系列| 亚洲第一av网站| 欧美精品啪啪一区二区三区| 98超碰在线观看| 亚洲第一视频网| 国产噜噜在线视频观看| 精品99在线观看| 亚洲一欧洲中文字幕在线| 日韩欧美中文字幕在线精品| 就去色综合| 欧美日韩精品在线播放| 国产成人亚洲欧美激情| 国产99久久亚洲综合精品西瓜tv| 久久香蕉国产线看观| 国产原创第一页在线观看| 免费看美女自慰的网站| 国产成人1024精品| 97国产在线视频| 亚洲日韩每日更新| 亚洲丝袜第一页| 二级毛片免费观看全程| 国产免费网址| 国产精品视频3p| 国产精品免费入口视频| 91视频日本| 国产91在线|中文| 欧美一级黄色影院| 乱色熟女综合一区二区| 福利视频一区| 亚洲第一在线播放| 免费高清自慰一区二区三区| 天天综合色天天综合网| 午夜啪啪网| 污污网站在线观看| 好吊色妇女免费视频免费| 亚洲天堂网站在线| 色偷偷一区二区三区| 成人免费网站在线观看|