>  在SQLServer中,視圖是一個保存的T-SQL查詢。視圖定義由SQLServer保存,以便它能夠用作一個虛擬表來簡化查詢,并給基表增加另一層安全。但是,它并不占用數據庫的任何空間。實際上">
sql server中用索引視圖查看性能狀況--

sql server中用索引視圖查看性能狀況--

ID:24160433

大小:52.00 KB

頁數:4頁

時間:2018-11-13

sql server中用索引視圖查看性能狀況--_第1頁
sql server中用索引視圖查看性能狀況--_第2頁
sql server中用索引視圖查看性能狀況--_第3頁
sql server中用索引視圖查看性能狀況--_第4頁
資源描述:

《sql server中用索引視圖查看性能狀況--》由會員上傳分享,免費在線閱讀,更多相關內容在學術論文-天天文庫。

1、SQLServer中用索引視圖查看性能狀況>>  在SQLServer中,視圖是一個保存的T-SQL查詢。視圖定義由SQLServer保存,以便它能夠用作一個虛擬表來簡化查詢,并給基表增加另一層安全。但是,它并不占用數據庫的任何空間。實際上,在你查詢它之前,視圖并不做任何事情?! ∷饕晥D  在SQLServer2000和2005中,你能夠給視圖增加索引。但是,如果視圖只是一個保存在數據庫中的查詢定義,在運行前沒有自己的數據,你如何給那個定義建立一個索引呢?嗯,這比較麻煩。  索引視圖是一個已被物化或保存在數據庫中的視圖。當基本表更新時,給視圖建立的索引由數據庫引擎保存和更新。當你的結果集返回

2、許多行并且需要求總數時,索引視圖十分有用。這是因為數據庫引擎必須在基表數據更新時維持視圖索引,這可能會降低事務的性能。  要給一個視圖建立一個索引,視圖定義必須遵守某組條件和會話設置,同時要求把基表和視圖定義聯系起來。如果你確定你的視圖滿足這些標準(我將在后面討論這一點),你給視圖建立的第一個索引必須是一個唯一的聚集索引。建立的第一個視圖必須在一組欄上,并且被聚集,以便索引被物化。  下面代碼說明如何建立一個索引視圖。其中的腳本將建立SalesHistory表,并給它加載數據。CREATETABLESalesHistory(      SaleIDINTIDENTITY(1,1),      

3、   ProductVARCHAR(30),      SaleDateSMALLDATETIME,      SalePriceMONEY)DECLAREiSMALLINTSETi=1ERIC_ROUNDABORTOFFGO  現在你可以建立自己的視圖。為使事情更加簡單,我建立一個嶄新的視圖。CREATEVIE(ISNULL(SalePrice,0))ASTotalSalesFROMdbo.SalesHistoryGROUPBYProductGO  下面的腳本給我們的視圖建立索引:CREATEUNIQUECLUSTEREDINDEXidx_SalesViewONvw_SalesByProdu

4、ct_Indexed(Product)  為表明已經給視圖建立一個索引,并且它確實占用數據庫的空間,運行下面的腳本查明聚集索引有多少行以及視圖占用多少空間。EXECUTEsp_spaceused'vw_SalesByProduct_Index12下一頁>>>>這篇文章來自..,。ed'  下面的SELECT語句和以前的語句相同,只是這次它執(zhí)行一個聚集索引搜索,這個過程完成得非???。SELECTProduct,TotalSales,ProductCountFROMvw_SalesByProduct_IndexedWHEREProduct='puter'  不要忘記

5、性能測試  索引視圖如果使用得當,它會十分有用,因為它們能夠顯著地提高查詢的性能。但是,由于聚集索引增加的性能,數據庫引擎必須在視圖基表的所有事務過程中維持那個索引。因為這個交換,建立一個索引視圖可能對系統有益,也可能給系統造成傷害。確定這樣做是有益還是有害的最佳方法就是進行全面的性能測試。上一頁12>>>>這篇文章來自..,。

當前文檔最多預覽五頁,下載文檔查看全文

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

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯系客服處理。