使用視圖和存儲過程的優缺點

使用視圖和存儲過程的優缺點

    –以下內容整理自網絡


視圖的優點:

 

簡單性 
    視圖不僅可以簡化用戶對數據的理解,也可以簡化他們的操作,哪些經常使用的查詢可以被定義爲視圖,從而使用戶不必爲以後的操作每次都指定全部的條件。

 

安全性 
    隱藏數據源,通過視圖用戶只能查詢和修改他們所能見到的數據,數據庫中的其它數據則看不見也取不到。

 

邏輯數據獨立性 
    視圖可以使應用程序和數據庫在一定程序上獨立。如果沒有視圖,應用一定是建立在表上。有了視圖之後,程序可以建立在視圖之上,從而程序與數據庫表被視圖分割開來。

 

方便性
  在多表連接查詢時,可以使用視圖提高效率

 

視圖的缺點:

 

性能差 
    sql server必須把視圖查詢轉化成對基本表的查詢,如果這個視圖是由一個複雜的多表查詢所定義,那麼,即使是視圖的一個簡單查詢,sql server也要把它變成一個複雜的結合體,需要花費一定的時間。

 

修改限制
   當用戶試圖修改試圖的某些信息時,sql server必須把它轉化爲對基本表的某些信息的修改,對於簡單的試圖來說,這是很方便的,但是,對於比較複雜的試圖,可能是不可修改的。

 
存儲過程的優點:

 

預編譯
    當一個sql語句包含在存儲過程中時,服務器不必每次執行它時都要分析和編譯它,避免了sql語句在網絡中傳輸然後再解釋的低效率問題。

 

修改方便
   直接修改存儲過程,方便代碼的管理。

 

安全
   不會有sql語句注入問題。

 

可以建立複雜的查詢
  可以用存儲過程建立非常複雜的查詢,以非常複雜的方式更新數據庫。

 

可以使用參數
  在存儲過程中可以使用參數,可以傳送和返回參數。 

 

存儲過程的缺點:

 

增加複雜性
    當業務邏輯比較複雜時不建議使用存儲過程,這樣會增加複雜性。

 

可移植性低
  在不同的數據庫平臺上很難移植

 

原文

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章