在某些較複雜的系統中,常會遇到單一頁面因為要顯示的資料過多,SQL語法都寫的很長和SQL重複的狀況
在維護層面來看,有時候都會忘記當初規則是怎麼制定的
這時候就可以利用DB的View來解決
View是一種存在於記憶體的虛擬表,開發者可以利用SQL指令產生出特定邏輯的View,
View的內容直接受到原始表格的影響,View可以幫助程式方便查詢資料且保障資料的一致性。
建立View:
CREATE VIEW new_view AS SELECT a.id,b.name FROM a LEFT JOIN b ON a.id = b.id ORDER BY b.name;
這時候你就會發現資料庫中多了一張new_view的表,裡面的結果就是建view時所下的sql query出來的值
修改View:
ALTER VIEW new_view AS SELECT a.id,b.name FROM a LEFT JOIN b ON a.id = b.id ORDER BY b.name;
注意:View是會拖慢資料庫的效能,但是以開發者的角度來講是非常方便的,所以中間的取捨必須考慮到整體的狀況