使用SQL Server視圖的優(yōu)缺點(diǎn)
SQL Server視圖我們經(jīng)常會(huì)用的到,下面就為您介紹使用SQL Server視圖的優(yōu)缺點(diǎn),希望可以對(duì)您SQL Server視圖有更多的了解。
在程序設(shè)計(jì)的時(shí)候必須先了解視圖的優(yōu)缺點(diǎn),這樣可以揚(yáng)長避短,SQL Server視圖具有如下的一些優(yōu)點(diǎn):
● 簡單性。視圖不僅可以簡化用戶對(duì)數(shù)據(jù)的理解,也可以簡化他們的操作。那些被經(jīng)常使用的查詢可以被定義為視圖,從而使用戶不必為以后的操作每次都指定全部的條件。
● 安全性。通過視圖用戶只能查詢和修改他們所能見到的數(shù)據(jù)。數(shù)據(jù)庫中的其他數(shù)據(jù)則既看不見也取不到。數(shù)據(jù)庫授權(quán)命令可以使每個(gè)用戶對(duì)數(shù)據(jù)庫的檢索限制到特定的數(shù)據(jù)庫對(duì)象上,但不能授權(quán)到數(shù)據(jù)庫特定行和特定的列上。通過視圖,用戶可以被限制在數(shù)據(jù)的不同子集上。
● 邏輯數(shù)據(jù)獨(dú)立性。視圖可以使應(yīng)用程序和數(shù)據(jù)庫表在一定程度上獨(dú)立。如果沒有視圖,應(yīng)用一定是建立在表上的。有了視圖之后,程序可以建立在視圖之上,從而程序與數(shù)據(jù)庫表被視圖分割開來。
SQL Server視圖也存在一些缺點(diǎn),主要如下。
● 性能:SQL Server必須把視圖的查詢轉(zhuǎn)化成對(duì)基本表的查詢,如果這個(gè)視圖是由一個(gè)復(fù)雜的多表查詢所定義,那么,即使是視圖的一個(gè)簡單查詢,SQL Server也把它變成一個(gè)復(fù)雜的結(jié)合體,需要花費(fèi)一定的時(shí)間。
● 修改限制:當(dāng)用戶試圖修改視圖的某些行時(shí),SQL Server必須把它轉(zhuǎn)化為對(duì)基本表的某些行的修改。對(duì)于簡單視圖來說,這是很方便的,但是,對(duì)于比較復(fù)雜的視圖,可能是不可修改的。
所以,在定義數(shù)據(jù)庫對(duì)象時(shí),不能不加選擇地來定義SQL Server視圖,應(yīng)該權(quán)衡視圖的優(yōu)點(diǎn)和缺點(diǎn),合理地定義視圖。
【編輯推薦】