萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mssql數據庫 >> SQLServer視圖的總結

SQLServer視圖的總結

   SQL Server 視圖的總結

  視圖是存儲在物理表之上的,受物理表的改動而改動的,一般不用再更新。

  視圖作為過濾器:從過濾器名稱可以看出,這樣的一個視圖的主要目的在於隱藏,可以當作是隱藏的select語句。

  視圖中的一個比較重要的細節是,在很多的更新時候,需要加上“checkwith option”語句(在Update、insert、delete是需要滿足where條件),這樣才可以保證數據的完整性。

  另外:在大多數的數據庫中,視圖這一工具的使用往往不是過多就是過少。一些人喜歡用視圖抽象化幾乎所有一切的內容(這樣做的同時,意味著增加了一層處理)。另外一些人則好像忘記視圖也是一種選擇。視圖應該在恰當的時候使用,才能得到更好的效果。

  視圖使用的過程中,應該注意的幾個方面:

  1. 避免基於視圖構建視圖——而應該將來自第一個視圖的合適的查詢信息應用到新的視圖中。

  2. 記住使用with check option的視圖提供一些不同check約束所不具備的靈活性。

  3. 視圖的加密——加密後的視圖是不能再恢復未加密的代碼了。

  4. 除了權限之外,使用Alter View意味著完全替換了現有的視圖。這意味著如果要使被修改的視圖裡的加密和限制仍然是有效的,那麼必須在alter語句中包含withencryption和withcheck option子句。

  5. 使用sp_helptext顯示視圖的支持代碼——避免使用系統表。

  6. 最小化用於生產查詢的視圖的用戶——因為他們增加了額外的系統開銷並且危害性能。

  視圖一般的使用情況:

  1. 過濾行

  2. 保護敏感數據

  3. 降低數據庫復雜性

  4. 將多個物理數據庫抽象為一個邏輯數據庫

copyright © 萬盛學電腦網 all rights reserved