新聞中心
以下的文章主要向大家描述的是SQL Server視圖索引(Indexed Views),我們在第27章所曾經(jīng)講過,SQL Server2000數(shù)據(jù)庫允許你創(chuàng)建索引視圖。一個(gè)索引的視圖是任意在其上定義了聚集索引的視圖。

為建甌等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及建甌網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、建甌網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
當(dāng)一個(gè)CREATE INDEX語句在視圖上執(zhí)行時(shí),視圖的結(jié)果集在數(shù)據(jù)庫中的組織和存儲(chǔ)與具有聚集索引的數(shù)據(jù)表是一樣的。
視圖中數(shù)據(jù)表上的數(shù)據(jù)發(fā)生改變將會(huì)自動(dòng)反映到視圖中,也會(huì)以同樣的方式數(shù)據(jù)表中的變化會(huì)反映到索引中。除了聚集索引,你可以在視圖上創(chuàng)建其他非聚集索引來提哦共另外的查詢性能。視圖上的額外的索引可為查詢優(yōu)化器提供更多的選擇。
在SQL Server2000的開發(fā)版和企業(yè)版中,當(dāng)一個(gè)索引視圖存在于一個(gè)表中,你可以在查詢中直接訪問視圖,優(yōu)化器將自動(dòng)考慮使用視圖的索引來提高查詢性能,就像表中的索引來提高性能一樣。即使一個(gè)查詢沒有直接在FROM子句中使用視圖名字,查詢優(yōu)化器也將考慮使用索引視圖。換句話,當(dāng)一個(gè)查詢可能從索引視圖中獲得好處,查詢優(yōu)化器會(huì)替換掉表上的索引,而使用索引視圖來滿足查詢。
SQL Server 2000的所有版本都可以創(chuàng)建索引,但是只有開發(fā)版本和企業(yè)版將自動(dòng)使用索引視圖來優(yōu)化查詢,這一點(diǎn)很重要。在其他版本中,索引視圖將不會(huì)用來提高查詢性能,除非查詢中明確指定視圖并且“NOEXPAND”優(yōu)化指示也被指定。
沒有NOEXPAND,SQL Server將擴(kuò)展視圖到視圖所對(duì)應(yīng)的表并且基于表中的索引進(jìn)行優(yōu)化。下面的例子展示了使用NOEXPAND 選項(xiàng)來強(qiáng)制SQL Server視圖索引。
- Sql代碼
- Select * from sales_Qty_Rollup WITH (NOEXPAND)
- Where stor_id between 'B914' and 'B999' SET ARITHABORT ON
- Select * from sales_Qty_Rollup WITH (NOEXPAND)
- Where stor_id between 'B914' and 'B999' SET ARITHABORT ON
索引視圖的確增加了負(fù)擔(dān)并且可能使得SQL Server變得更復(fù)雜,因?yàn)樾枰绕胀ㄋ饕ㄙM(fèi)更多時(shí)間來維護(hù)。當(dāng)索引所在的表被修改了,SQL Server不得不修改視圖的結(jié)果集和視圖中的索引。SQL Server視圖索引的范圍可能比單個(gè)表要大些,特別是假如視圖定義在幾個(gè)大表上。
在修改中維護(hù)視圖及其索引所需的負(fù)擔(dān)所產(chǎn)生的負(fù)面影響要比從其獲得好處要多些。因?yàn)檫@些額外的維護(hù)負(fù)擔(dān),只在那些獲得好處超過其維護(hù)負(fù)擔(dān)的視圖上創(chuàng)建索引。
上述的相關(guān)內(nèi)容就是對(duì)SQL Server視圖索引(Indexed Views)的描述,希望會(huì)給你帶來一些幫助在此方面。
【編輯推薦】
- SQL Server 2000數(shù)據(jù)庫備份和還原的示例
- SQL Server磁帶備份設(shè)備的性能優(yōu)化過程
- 實(shí)現(xiàn)SQL Server數(shù)據(jù)備份可用觸發(fā)器
- 解決SQL Server數(shù)據(jù)庫中附加數(shù)據(jù)庫的出錯(cuò)問題
- SQL Server數(shù)據(jù)庫中的9簡單示例
分享題目:對(duì)SQLServer視圖索引的解析
鏈接地址:http://www.dlmjj.cn/article/cdcjggo.html


咨詢
建站咨詢
