亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SQL Server 2008性能優(yōu)化實踐探討

        2014-04-29 00:00:00張咪

        摘 要:數(shù)據(jù)庫性能問題一直是技術(shù)和管理人員共同關(guān)注的焦點問題,影響數(shù)據(jù)庫性能的重要因素就是索引的正確建立和正確使用。為了提高SQL Server數(shù)據(jù)庫應(yīng)用系統(tǒng)的執(zhí)行效率和使用效果,通過數(shù)據(jù)庫索引正確設(shè)計和查詢優(yōu)化以及SQL Server 2008系統(tǒng)性能調(diào)整幾種優(yōu)化策略的一般研究,從而給出數(shù)據(jù)庫性能優(yōu)化的一般原則。

        關(guān)鍵詞:索引;優(yōu)化策略;數(shù)據(jù)庫性能

        中圖分類號:TP311.13

        當(dāng)今社會信息飛速進(jìn)步發(fā)展,信息增長速度驚人,作為一個數(shù)據(jù)庫管理和維護(hù)人員,必需要面對的問題是,當(dāng)數(shù)據(jù)信息積累到一定的規(guī)模時,必將導(dǎo)致數(shù)據(jù)庫性能下降,數(shù)據(jù)查詢效率變慢,甚至無法正常使用。定期維護(hù)數(shù)據(jù)庫和系統(tǒng)性能的優(yōu)化就成為重要的解決手段。

        1 優(yōu)化設(shè)計邏輯數(shù)據(jù)庫和表

        標(biāo)準(zhǔn)化的數(shù)據(jù)庫邏輯設(shè)計是可以使用非常多的,有相互關(guān)系的窄表來代替很多列的長數(shù)據(jù)表。表窄,意味著有更少的空值和更少的多余值,增加了數(shù)據(jù)庫的緊湊性,可以排序和建立索引更大程度的快捷迅速。每個表中可以有少一些的索引,這可以更加提高irsert、updite、delete等的速度。因為這些操作在索引多的情況下可能會對系統(tǒng)性能產(chǎn)生很大的影響,不可忽視。

        我們來描述具有相關(guān)關(guān)系的主鍵和外鍵時,應(yīng)該注意的事項主要有:用于連接多表的主鍵和參考的外鍵要有相同的數(shù)據(jù)類型。

        2 正確使用索引優(yōu)化查詢性能

        使用數(shù)據(jù)庫的主要目的是方便快捷的查詢,提高查詢性能是優(yōu)化數(shù)據(jù)庫操作的最主要措施。縮短查詢時間有兩種不同的方法:一個是組織數(shù)據(jù)邏輯循序來減少查詢的比較次數(shù),一個是組織組織數(shù)據(jù)的屋里存放,使其盡量少次數(shù)的讀寫硬盤。

        在數(shù)據(jù)庫數(shù)據(jù)查詢操作中。減少查詢比較次數(shù)主要是通過使用索引來實現(xiàn)的,數(shù)據(jù)庫性能優(yōu)化中索引絕對是一個重量級的因素。索引分聚集索引和非聚集索引。聚集索引的順序就是數(shù)據(jù)的物理存儲順序,而非聚集索引的索引順序與數(shù)據(jù)物理排列順序無關(guān)。聚集索引性能最好且具有絕對唯一性,設(shè)置時需慎重。一般要根據(jù)這個表最常用的SQL查詢方法來進(jìn)行選擇,某個字段當(dāng)作聚集索引,或組合聚集索引。一個表最多只能有一個聚集索引。很多人就把其他索引設(shè)置為非聚集索引。甚至有的主鍵是沒有任何意義的自動增量字段,如此一來,Clus-tered Index對效率的幫助完全被浪費殆盡了。

        圖1 聚集索引 圖2 非聚集索引

        優(yōu)化查詢首先要清楚是否直接使用了索引。要在對各種查詢的分析和預(yù)測上建立合理有效的索引設(shè)計,一般來說,索引設(shè)計可以遵循以下一些一班優(yōu)化原則:

        (一)有大量重復(fù)值,且經(jīng)常有比較查詢(>,<,>=,<=)和order by、group by發(fā)生的列,可考慮建立群集索引。

        (二)經(jīng)常同時存取多列,且每列都含有重復(fù)值可考慮建立組合索引,組合索引要盡量使關(guān)鍵查詢形成索引覆蓋,使用時查詢條件必須包含組合索引里的第一個索引字段。

        (三)如果查詢結(jié)果字段與查詢條件的字段經(jīng)常成組匹配出現(xiàn),則可以定義索引表,使用索引字段查詢不需要二次定位,直接就可以獲取查詢字段。

        同樣,在經(jīng)常需要搜索的列上,可以加快搜索的速度;

        (1)在作為主鍵的列上,強(qiáng)制該列的唯一性和組織表中數(shù)據(jù)的排列結(jié)構(gòu);

        (2)在經(jīng)常用在連接的列上,這些列主要是一些外鍵,可加快連接速度;在經(jīng)常需要根據(jù)范圍來搜索的列上創(chuàng)建索引,因為索引已經(jīng)排序,其指定的范圍是連續(xù)的;

        (3)在經(jīng)常需要排序的列上創(chuàng)建索引,因索引已經(jīng)排序,這樣查詢可利用索引的排序,加快排序查詢時間;

        (4)在經(jīng)常使用在WHERE子句中的列上面創(chuàng)建索引,加快條件的判斷速度。

        雖說索引有助于提高性能但并不是越多越好,相反過多的索引會導(dǎo)致系統(tǒng)低效。用戶每在表中新增加一個索引,維護(hù)索引集合就要進(jìn)行與之相應(yīng)的更新工作??梢哉f,一旦索引使用不當(dāng),其他的優(yōu)化措施將毫無意義。當(dāng)數(shù)據(jù)量非常大時,是否使用索引查詢會使查找比較次數(shù)的差別千差萬別,但當(dāng)查找結(jié)果多到整個數(shù)據(jù)庫五分之一的時候,建議可以直接在表里查詢,不要使用索引。不然可能會對數(shù)據(jù)庫造成損害。當(dāng)用戶使用索引的時候,查詢語句的寫法需要盡量符合規(guī)范,否則會使查詢沒有使用指定索引,查詢效率下降,查詢結(jié)果無法顯示。

        (1)查詢語句使用的最基本的要求就是要以索引字符為查詢條件。但與此同時要注意的是,查詢條件中不要將字段進(jìn)行運算,避免使用not、!=操作符。(2)任何隊列的操作都將導(dǎo)致表掃描,它包括數(shù)據(jù)庫函數(shù)、計算表達(dá)式等,查詢時要盡可能將操作移動至等號的右邊。(3)IN、OR字句會使用工作表使索引失效。如果不產(chǎn)生大量重復(fù)值可以考慮把子句拆開被拆開的子句中應(yīng)該會包含索引。(4)如果一個列同時在主查詢和where子句中出現(xiàn)很可能當(dāng)主查詢中的列值被改變后,子查詢必須重新查詢一次。而且查詢嵌套層次越多效率越低,因而應(yīng)當(dāng)盡量避免使用子查詢。

        同樣,有些列不應(yīng)該創(chuàng)建索引。一般來說,不應(yīng)該創(chuàng)建索引的這些列具有下列特點:

        第一,對于那些在查詢中很少使用或者參考的列不應(yīng)該創(chuàng)建索引。因為,既然這些列很少使用到,因此有無索引,并不能提高查詢速度。相反,由于增加了索引索引,反而降低了系統(tǒng)的維護(hù)速度和增大了空間需求。

        第二,對于那些只有很少數(shù)據(jù)值的列也不應(yīng)該增加索引。因為由于這些列的取值很少,例如人事表的性別列,在查詢的結(jié)果中,結(jié)果集的數(shù)據(jù)行占了表中數(shù)據(jù)行的很大比例,即需要在表中搜索的數(shù)據(jù)行的比例很大。增加索引,并不能明顯加快檢索速度。

        第三,對于那些定義為text, image和bit數(shù)據(jù)類型的列不應(yīng)該增加索引。因為這些列的數(shù)據(jù)量要么相當(dāng)大,要么取值很少,不利于使用索引。

        第四,當(dāng)修改性能遠(yuǎn)遠(yuǎn)大于檢索性能時,不應(yīng)該創(chuàng)建索引。因為修改性能和檢索性能是互相矛盾的。當(dāng)增加索引時,會提高檢索性能,但會降低修改性能。當(dāng)減少索引時,會提高修改性能,降低檢索性能。所以當(dāng)修改操作遠(yuǎn)遠(yuǎn)多于檢索操作時,不應(yīng)該創(chuàng)建索引。

        3 SQL Server 2008的系統(tǒng)監(jiān)視與性能調(diào)整

        SQL Server 2008性能優(yōu)化就是要保證計算機(jī)盡量達(dá)到最穩(wěn)定的狀態(tài),不會因為某一個源資源的不了解的情況導(dǎo)致系統(tǒng)整體性能運行狀態(tài)低下,效果不佳。計算機(jī)系統(tǒng)資源包括內(nèi)存,處理器,磁盤系統(tǒng)。這些系統(tǒng)任何一個出現(xiàn)問題,都會降低整個系統(tǒng)的運行效果。因此使用SQL Server 2008系統(tǒng)提供的性能監(jiān)視手段發(fā)現(xiàn)問題,是使其性能優(yōu)化的最主要的工作。

        系統(tǒng)監(jiān)視器通過對CPU過載、過度內(nèi)存交換、磁盤等的監(jiān)控來發(fā)現(xiàn)性能瓶頸。CPU最常見的問題就是性能問題,即沒有足夠的處理能力,因而不能盡量快速的處理問題。如果期待長時間的運行時間的話,就應(yīng)相應(yīng)的增加處理器或者升級系統(tǒng),但與此同時也需要兼顧系統(tǒng)的其他性能,防止不能兼容的情況發(fā)生。

        可以使用的內(nèi)存空間是SQL Server最為關(guān)鍵的性能決定因素之一,而內(nèi)存和I/O子系統(tǒng)的關(guān)系也至關(guān)重要。在I/O系統(tǒng)的操作中,SQL Server用來緩存數(shù)據(jù)的可用空間越多,要執(zhí)行的I/O也就越少,此時數(shù)據(jù)將直接從緩存中得到,而非內(nèi)存。由I/O子系統(tǒng)發(fā)生的瓶頸問題是數(shù)據(jù)庫系統(tǒng)可能遇到的比較頻繁的,可以選擇使用升級版即更快的驅(qū)動起來解決問題。

        影響數(shù)據(jù)庫性能的問題有很多,隨著系統(tǒng)的更新?lián)Q代會有更多的問題出現(xiàn),想要找出一個全面的萬能方法是不可能的,只能在使用的過程中不斷發(fā)現(xiàn),不斷調(diào)整,才能適應(yīng)我們的需要。

        參考文獻(xiàn):

        [1]李展?jié)苡⒅?基于Oracle數(shù)據(jù)庫的SQL語句優(yōu)化[J].微型機(jī)與應(yīng)用.,2011 (21) .

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

        作者簡介:張咪(1984-),女 (漢族),河南鄭州人,研究生,主要研究方向:計算機(jī)科學(xué)與技術(shù)。

        中文字幕日韩精品亚洲精品| 精品亚洲女同一区二区| 中文字幕精品人妻av在线| 日韩免费精品在线观看| 成年站免费网站看v片在线| 蜜桃成人无码区免费视频网站| 国产精品白浆无码流出| 日韩亚洲精选一区二区三区| 狠狠色欧美亚洲狠狠色www| 国产熟妇人妻精品一区二区动漫 | 青青草精品在线免费观看| 亚洲成av人片在www鸭子| 亚洲精品无码专区在线| 国内精品一区二区2021在线 | 国产自拍视频在线观看免费| 亚洲一区二区三区香蕉| 9191在线亚洲精品| 日本岛国一区二区三区| 人妻精品视频一区二区三区| 99在线精品免费视频九九视| 久久精品免费无码区| 亚洲情久久久精品黄色| 久久午夜福利无码1000合集| 国产95在线 | 欧美| 亚洲av永久无码精品成人| 国产av一区二区毛片| 亚洲精品夜夜夜妓女网 | 超级碰碰人妻中文字幕| 日本中文字幕精品久久| 成人国产精品一区二区网站公司| 伊人久久大香线蕉免费视频| 天堂av在线播放观看| 精品国产yw在线观看| 影音先锋每日av色资源站| 综合久久久久6亚洲综合| 精品亚洲av乱码一区二区三区| 亚洲国产精品无码久久98| 丝袜国产高跟亚洲精品91| 青青草视频网站免费看| 亚洲一区视频在线| 久久迷青品着产亚洲av网站|