mysql數(shù)據(jù)庫可視化,MySQl中JOIN后面的子查詢語句得到的結(jié)果叫做視圖嗎?
視圖是存儲在數(shù)據(jù)庫中的查詢的sql 語句,是一種可視化的虛擬表,其內(nèi)容由查詢定義,通過視圖看到的數(shù)據(jù)只是存放在基本表中的數(shù)據(jù)。視圖包含行和列,就像一個(gè)真實(shí)的表。視圖中的字段就是來自一個(gè)或多個(gè)數(shù)據(jù)庫中的真實(shí)的表中的字段。我們可以向視圖添加 SQL 函數(shù)、WHERE 以及 JOIN 語句,我們也可以提交數(shù)據(jù),就像這些來自于某個(gè)單一的表。
視圖可以隱藏一些數(shù)據(jù),比起真實(shí)的表相對安全;由于把涉及到多表聯(lián)合的查詢事先存儲起來,使用的時(shí)候更加易于理解。
sql中把一個(gè)查詢的結(jié)果當(dāng)作另一個(gè)表來查詢,這叫做臨時(shí)表?!癑OIN后面的子查詢語句得到的結(jié)果”,這就是個(gè)臨時(shí)表,而不能稱為視圖,雖然有和視圖相同的特征,比如都是來自于真實(shí)表中的字段的查詢結(jié)果,但其并不存在于數(shù)據(jù)庫中,不能被重復(fù)使用。
視圖和直接寫SQL語句相比,在性能上速度相差不大,但VIEW畢竟是已經(jīng)編譯存放在數(shù)據(jù)庫中,相對于直接SQL省去了語法檢查和解析階段的開銷。當(dāng)然查詢快和慢終究還是要看業(yè)務(wù)實(shí)際情況,在使用索引的情況下,效率會(huì)得到很大的提升。