1. 程式人生 > >mysql中檢視的使用

mysql中檢視的使用

1.什麼是檢視


檢視是資料庫中由真實的資料表查詢語句定義而成的一種虛擬表,檢視本身不儲存資料只是儲存查詢資料的定義。

2.檢視的優點是什麼


首先申明一點,檢視本身的查詢和直接作為定義的sql聯表查詢的效率事實上沒有什麼區別。所以不要指望使用檢視,能給你提升多大的效率。

可以看得見的優點暫時只找到了三點
(1). 比如你程式傳送查詢語句給資料庫伺服器的時候,用檢視傳輸的語句位元組數更少
(2). 程式上的程式碼寫的更少了,更容易讀懂檢視查詢所需要的欄位,不必考慮多表查詢的細節
(3). 多表更新欄位或減少冗餘時,你不必修改程式,只需要更新檢視即可

真正能改善查詢效率的是合理規劃表結構,和建立適當的查詢索引,有興趣瞭解可以看看這篇
查詢優化


3. 檢視的使用


[1] 建立檢視

 create view view_name as 你複雜的查詢語句;
 
 擴充套件:我們可以使用指定的演算法來建立檢視
 
create ALGORITHM=TEMPTABLE view view_name as 你複雜的查詢語句;
create ALGORITHM=MERGE view view_name as 你複雜的查詢語句;

 TEMPTABLE 臨時表模式 只能查詢不能更新
 MERGE 合併替換模式 在更新檢視中的資料時,會同時更新真實表中的資料(不指定系統會預設使用)


[2] 刪除檢視

 
drop view view_name;

[3] 使用檢視

select * from view_name;