⑴ 視圖和存儲過程各自的好處
這需要根據具體的情況而定啊,如果僅僅是查詢,視圖和存儲過程都是只有在執行的時候才會跟資料庫進行交互並返回結果。如果是比較復雜的查詢,比如需要保存有中間結果才能進行下一步,那麼當然是使用存儲過程比較好,這樣你可以把一些中間處理的數據放到臨時表中,然後再整理返回,所有這些都是在伺服器的內存里完成,所以速度會比較快。
⑵ sql server中的視圖有什麼用和存儲過程有什麼區別他的好處是什麼
視圖通常用於封裝一個邏輯表
比如:
學生表我只想查看姓名,那麼就可以通過視圖將他封裝成一個只查看姓名的邏輯表,以後直接調用這個表就能查看學生的姓名
存儲過程就好比編程語言裡面的函數、方法,通常對某一功能的封裝,方便重復調用:
比如:
我要查看學生的總分,那麼就可以把他寫成一個存儲過程,以後直接調用,不必重復編寫這段Sql語句
⑶ 關於對視圖和存儲過程的區別的理解
另外,還有一關鍵的是存儲過程和常用的查詢與提交、替換等操作相比,效率是更高的!
視圖在一定條件下也是可以進行更新、插入刪除等 操作的
其實,你可以理解成 表的嵌套
⑷ 表和視圖的區別,存儲過程和函數的區別
問題1:
表是真實存在, 它占存儲空間
視圖相當於一個查詢語句它不佔有存儲空間
一個淺顯的比喻吧:表是可執行文件,視圖是快捷方式
表是真正的存在與資料庫中(也就是硬體介質上)的數據組合,而視圖只是簡單的把一個或多個表或其他視圖聯系在一起的集合,也就是說視圖只是固定了你的數據查詢方式,但是並沒有真正把數據保存起來,每次訪問視圖的時候,系統會自動根據視圖的規則去組織篩選數據
問題2:
本質上沒區別。
只是函數:只能返回一個變數的限制。而存儲過程可以返回多個。
函數是可以嵌入在sql中使用的,可以在select中調用,而存儲過程不行。
執行的本質都一樣。
函數限制比較多,比如不能用臨時表,只能用表變數.還有一些函數都不可用等等.而存儲過程的限制相對就比較少
1. 一般來說,存儲過程實現的功能要復雜一點,而函數的實現的功能針對性比較強。
2. 對於存儲過程來說可以返回參數,而函數只能返回值或者表對象。
3. 存儲過程一般是作為一個獨立的部分來執行,而函數可以作為查詢語句的一個部分來調用,由於函數可以返回一個表對象,因此它可以在查詢語句中位於FROM關鍵字的後面。
4. 當存儲過程和函數被執行的時候,SQL Manager會到PRocere cache中去取相應的查詢語句,如果在procere cache里沒有相應的查詢語句,SQL Manager就會對存儲過程和函數進行編譯。
⑸ 為什麼MYSQL很少人用視圖,MYSQL的視圖和MSSQL的視圖有什麼本質區別。
問題一:為什麼MYSQL很少人用視圖?
答:mysql並不是很少人用,而是大部分一般直接通過sql查詢的方式來實現類似view功能,不願意 去增加這么一個過程,其實增加view還是有很多好處:
簡單性。視圖不僅可以簡化用戶對數據的理解,也可以簡化他們的操作。
安全性。通過視圖用戶只能查詢和修改他們所能見到的數據。
邏輯數據獨立性。視圖可以使應用程序和資料庫表在一定程度上獨立。
問題二:MySQL和MSSQL有哪些本質區別?
答:MySQL可以說是MSSQL的簡化版本。理念相同,但MySQL的實現比MSSQL的需求低。MySQL是一個免費的、開放源代碼的SQL資料庫,所以免費的MYSQL很受歡迎,
⑹ sql視圖和存儲過程啥時候用比較好
數據很多,又要提高效率時用存儲過程。
數據提取的不是現成的表,而是多表結合時用視圖。
⑺ sql中的視圖與存儲過程有什麼不同的
sql中視圖(view)和存儲過程(procere)的區別:
View本身就是顯示一個表格,View可以顯示出表格,但是VIEW本身並沒有包括任何數據,view也不接受參數,所以其實view就是一個虛擬的表格,而不是實際的,所以在需要參數的時候,需要提前在建立view的時候定義好。VIEW一般是給外部非專業IT人員使用,因為你可以隨意修改名稱並限定輸出的內容。
Procere就像是執行子查詢表格,接受參數,你可以用where或者order
by這樣的參數經行進一步的定義
Procere被定義出來之後,非常的方便,下次如果需要調用相同的命令,就直接把procere名字打上去就能顯示結果,通常為內部人員使用。
⑻ 資料庫存儲過程和視圖一般什麼時候用
存儲過程一般用於處理比較復雜的任務
存儲過程不僅僅適用於大型項目,對於中小型項目,使用存儲過程也是非常有必要的。其威力和優勢主要體現在:
1.存儲過程只在創造時進行編譯,以後每次執行存儲過程都不需再重新編譯,而一般 SQL 語句每執行一次就編譯一次,所以使用存儲過程可提高資料庫執行速度。
2.當對資料庫進行復雜操作時(如對多個表進行 Update,Insert,Query,Delete 時),可將此復雜操作用存儲過程封裝起來與資料庫提供的事務處理結合一起使用。這些操作,如果用程序來完成,就變成了一條條的 SQL 語句,可能要多次連接資料庫。而換成存儲,只需要連接一次資料庫就可以了。
3.存儲過程可以重復使用,可減少資料庫開發人員的工作量。
視圖使用方案
視圖通常用來集中、簡化和自定義每個用戶對資料庫的不同認識。視圖可用作安全機制,方法是允許用戶通過視圖訪問數據,而不授予用戶直接訪問視圖基礎表的許可權。