MYSQL視圖與表的區別,使用視圖的理由

1.MySQL中視圖和表的區別以及聯繫

(1)視圖是已經編譯好的SQL語句,是基於SQL語句的結果集的可視化的表,而表不是。

(2)視圖沒有實際的物理記錄,而表有。

(3)表是內存,視圖是窗口。

(4)表佔用物理存儲空間而視圖不佔用物理存儲空間,視圖只是邏輯概念的存在,表可以及時對它進行修改,但視圖只能用創建的方式來進行修改。

(5)視圖是查看數據表的一種方法,可以查詢數據表中某些字段構成的數據,只是一些SQL語句的集合。從安全的角度來說,視圖可以防止用戶接觸數據表,因而用戶不知道數據表結構。

(6)表屬於全局模式中的表,是實表,視圖屬於局部模式的表,是虛表。

(7)視圖的建立和刪除隻影響視圖本身,不影響對應的基本表。

2.兩者的聯繫

(1)視圖是基於基本表上建立的表,它的結構和內容都來自基本表,它依據基本表存在而存在。一個視圖可以對應一個基本表,也可以對應多個基本表。視圖是基本表的抽象和在邏輯意義上建立的新關係。

(2)視圖是依懶與基本表的存在而存在。

3.使用視圖理由

    複雜查詢的需求。我們在定義了一些基本表之後,經常會有一些複雜的關聯查詢,此時,我們就可以將複雜的關聯查詢結果集設置爲視圖。對於,應用層來說,視圖的用法和基本表的用法一致。這樣帶來的好處有:複雜關聯語句無需應用層向MySQL數據庫發送,只要請求請求相應的視圖,除了簡化應用層的開發,還能夠提升查詢速度。

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