基礎——使用檢視和儲存過程的優缺點

iSQlServer發表於2010-03-19

檢視:

優點,簡單性  檢視不僅可以簡化使用者對資料的理解,也可以簡化他們的操作,哪些經常使用的查詢可以被定義為檢視,從而使使用者不必為以後的操作每次都指定全部的條件。

   安全性  (隱藏資料來源)通過檢視使用者只能查詢和修改他們所能見到的資料,資料庫中的其它資料則看不見也取不到。

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

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

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

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

 

—————————————————————————————————————————————————————————————————————————

 

儲存過程:

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

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

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

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

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

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

   可移植性低

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-629909/,如需轉載,請註明出處,否則將追究法律責任。

相關文章