數據庫存儲過程和視圖的概念及不同


1.什么是存儲過程,有哪些優缺點?
    存儲過程是在大型數據庫中,一組為了完成特定功能的SQL語句集,它存儲在數據庫中,一次編譯之后永久生效,用戶通過去指定存儲過程的名字並給出參數來執行它。
    優點:
        可以重復使用,減少開發人員工作量
        對於網絡上的服務器,可以大大減少網絡流量,只需要傳遞存儲過程的名稱即可,可以替代大量T_SQL語句,降低了網絡通信量,提高通信效率
        可以防止用戶對表的直接訪問,只需要賦予用戶存儲過程的訪問權限
    缺點:
        每個數據庫的存儲過程語法幾乎不一樣,不通用且難以維護
        業務邏輯放在數據庫上,難以迭代
 
2.什么是視圖,視圖的應用場景有哪些?
    從一個或多個表導出的虛擬的表,其內容由具體的查詢內容定義。視圖和普通表的結構相同,但不實現數據的存儲。
    從用戶視角看,一個視圖是從一個特定的角度來查看數據庫中的數據;從數據庫內部看,一個視圖是由SELECT語句組成的查詢定義的虛擬表。視圖僅可以查,不能增刪改。
常用場景:
1.簡化操作
    將常用的聚合函數或多表查詢這些查詢語句放到視圖中,簡化了操作,每次只要select * from view就可以了。
2.安全性
    只讓用戶查看部分數據,同時,用戶無法對視圖進行隨意的修改和刪除,增加了安全性。
 
3.存儲過程和視圖的區別?
    目的不同。
    存儲過程往往涉及很多的數據處理,是一個復雜的過程,它相當於一個函數可以接受參數,主要用於處理數據;
    視圖是把現有數據以新的形式展現出來,最終目的是為了呈現數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM