>  本文介紹SQLServer2000企業(yè)版的新功能-索引視圖。講解索引視圖并討論一些提高性能的具體方案?! ∈裁词撬饕晥D?  許多年來,Microsoft®SQLServer&t">
使用sql server 2000索引視圖提高性能--

使用sql server 2000索引視圖提高性能--

ID:20464731

大小:56.50 KB

頁(yè)數(shù):5頁(yè)

時(shí)間:2018-10-11

使用sql server 2000索引視圖提高性能--_第1頁(yè)
使用sql server 2000索引視圖提高性能--_第2頁(yè)
使用sql server 2000索引視圖提高性能--_第3頁(yè)
使用sql server 2000索引視圖提高性能--_第4頁(yè)
使用sql server 2000索引視圖提高性能--_第5頁(yè)
資源描述:

《使用sql server 2000索引視圖提高性能--》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)

1、使用SQLServer2000索引視圖提高性能>>  本文介紹SQLServer2000企業(yè)版的新功能-索引視圖。講解索引視圖并討論一些提高性能的具體方案?! ∈裁词撬饕晥D?  許多年來,Microsoft®SQLServer™一直都提供創(chuàng)建虛擬表(稱為視圖)的功能。在過去,這些視圖主要有兩種用途:  提供安全機(jī)制,將用戶限制在一個(gè)或多個(gè)基表中的數(shù)據(jù)的某個(gè)子集。  提供一種機(jī)制,允許開發(fā)人員定制用戶如何才能以邏輯方式查看存儲(chǔ)在基表中的數(shù)據(jù)?! QLServer2000已經(jīng)擴(kuò)展了SQLServer視圖的功能,以提高系統(tǒng)性能。它可以在

2、一個(gè)視圖上創(chuàng)建唯一的群集索引和非群集索引,可以改進(jìn)最復(fù)雜查詢的數(shù)據(jù)訪問性能。在SQLServer2000中,擁有唯一群集索引的視圖被稱為索引視圖?! ∽⒁猓核饕晥D只是SQLServer2000企業(yè)版和SQLServer2000開發(fā)人員版的一個(gè)功能?! 臄?shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)的觀點(diǎn)來看,視圖是數(shù)據(jù)(元數(shù)據(jù))的說明。創(chuàng)建典型視圖時(shí),通過SELECT語句(定義一個(gè)顯示為虛擬表的結(jié)果集)來定義元數(shù)據(jù)。當(dāng)其它查詢的FROM子句中引用了某個(gè)視圖時(shí),將從系統(tǒng)目錄中檢索該元數(shù)據(jù),并對(duì)其進(jìn)行擴(kuò)展以代替該視圖的引用。在視圖擴(kuò)展之后,查詢優(yōu)化器會(huì)為正在執(zhí)行的查詢編譯單

3、個(gè)執(zhí)行計(jì)劃?! ∪绻欠撬饕晥D,視圖在運(yùn)行時(shí)將被實(shí)體化。任何計(jì)算(如聯(lián)接或聚合)都在為每個(gè)引用該視圖的查詢執(zhí)行查詢期間進(jìn)行。(視圖并不總需要被完全實(shí)體化。查詢可以包含其它一些謂詞、聯(lián)接或聚合,以應(yīng)用于該視圖所引用的表和視圖。)在視圖上創(chuàng)建了唯一的群集索引之后,視圖的結(jié)果集會(huì)立即被實(shí)體化并持續(xù)保存在數(shù)據(jù)庫(kù)的物理存儲(chǔ)空間中,以便節(jié)省這種操作所占用的大量資源?! ≡趫?zhí)行查詢時(shí),有兩種方法可以使用索引視圖。查詢可直接引用索引視圖,更重要的是,如果查詢優(yōu)化器確定視圖能夠替換為查詢的部分或全部,而且這是低成本的查詢計(jì)劃,則可以選擇索引視圖。第二種情況是使用索引視圖

4、代替基礎(chǔ)表及其普通索引。此時(shí),不需要在查詢中引用視圖,查詢優(yōu)化器即可在執(zhí)行查詢期間使用該視圖。這樣,現(xiàn)有的應(yīng)用程序無需更改即可從新建的索引視圖中獲益?! ⊥ㄟ^索引視圖提高的性能  使用索引來提高查詢性能并不是什么新觀念,不過,索引視圖還具有使用標(biāo)準(zhǔn)索引不能獲得的其它性能優(yōu)點(diǎn)。索引視圖能夠在以下方面提高查詢性能:  能夠預(yù)先計(jì)算聚合并將其存儲(chǔ)在索引中,從而最大限度地減少在執(zhí)行查詢期間進(jìn)行成本很高的計(jì)算?! ∧軌蝾A(yù)先聯(lián)接表并存儲(chǔ)生成的數(shù)據(jù)集。  能夠存儲(chǔ)聯(lián)接或聚合的組合?! ∠聢D說明了查詢優(yōu)化器使用索引視圖時(shí)一般能夠提高多少性能。提供的查詢復(fù)雜程度各不相同(

5、例如,聚合計(jì)算的數(shù)量、所用表的數(shù)量或謂詞數(shù)),并包括來自實(shí)際生產(chǎn)環(huán)境的數(shù)百萬行的大表?!   D1.當(dāng)查詢優(yōu)化器使用索引視圖時(shí)一般能夠提高多少性能  使用視圖的輔助索引  視圖的輔助性非群集索引可以提高其它查詢性能。與表的輔助索引類似,視圖的輔助索引也可以提供更多選項(xiàng),以便查詢優(yōu)化器在編譯過程中從中進(jìn)行選擇。例如,如果查詢包括群集索引未涉及的列,優(yōu)化器可以在計(jì)劃中選擇一個(gè)或多個(gè)輔助索引,從而避免對(duì)索引視圖或基表進(jìn)行費(fèi)時(shí)的全局掃描?! ∮捎谒饕枰粩嗑S護(hù),所以為架構(gòu)添加索引會(huì)增加數(shù)據(jù)庫(kù)的額外開銷。因此應(yīng)該認(rèn)真考慮,找到索引和維護(hù)額外開銷之間的平衡點(diǎn)?! ?/p>

6、使用索引視圖的好處  實(shí)現(xiàn)索引視圖之前,請(qǐng)先分析數(shù)據(jù)庫(kù)的工作量。運(yùn)用自己對(duì)查詢以及各種工具(例如SQL分析器)的知識(shí)來鑒別使用索引視圖可以獲益的查詢。如果經(jīng)常進(jìn)行聚合和聯(lián)接,最好使用索引視圖?! 〔⒎撬胁樵兌紩?huì)從索引視圖中獲益。與普通索引類似,如果未使用索引視圖,就沒有好處可言。在此情況下,不但不能提高性能,還會(huì)加大磁盤空間的占用、增加維護(hù)和優(yōu)化的成本。但是,如果使用了索引視圖,它們可以(成數(shù)量級(jí)地)明顯地提高數(shù)據(jù)訪問的性能。這是因?yàn)椴樵儍?yōu)化器使用存儲(chǔ)在索引視圖中的預(yù)先計(jì)算的結(jié)果,從而大大降低了執(zhí)行查詢的成本。  查詢優(yōu)化器只在查詢的成本比較大時(shí)才考慮

7、使用索引視圖。這樣可以避免在查詢優(yōu)化成本超出因使用索引視圖而節(jié)省的成本時(shí),試圖使用各種索引視圖。當(dāng)查詢成本低于1時(shí),幾乎不使用索引視圖?! ∈褂盟饕晥D可以受益的應(yīng)用包括:  ◆決定支持工作量  ◆數(shù)據(jù)集市  ◆聯(lián)機(jī)分析處理(OLAP)庫(kù)和源  ◆數(shù)據(jù)挖掘工作量  從查詢的類型和模式的角度來看,受益的應(yīng)用可被歸納為包含以下內(nèi)容的應(yīng)用:  ◆大表的聯(lián)接和聚合  ◆查詢的重復(fù)模式  ◆重復(fù)聚合相同或重疊的列集  ◆針對(duì)相同關(guān)鍵字重復(fù)聯(lián)接相同的表  ◆上述的組合  相反,包含許多寫入的聯(lián)機(jī)事務(wù)處理(OLTP)系統(tǒng)或更新頻繁的數(shù)據(jù)庫(kù),可能會(huì)因?yàn)橐瑫r(shí)更新視圖和根

8、本基表而使維護(hù)成本增加,所以不能利用索引視圖?! 〔樵儍?yōu)化器如何使用索引視圖  

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。