為什麼mysql中很少見到使用檢視功能

2022-03-22 00:19:12 字數 3719 閱讀 6665

1樓:思君朝於暮

mysql並不是很少人用,而是大部分一般直接通過sql查詢的方式來實現類似view功能,不願意 去增加這麼乙個過程,其實增加view還是有很多好處:

為什麼mysql很少人用檢視,mysql的檢視和mssql的檢視有什麼本質區別。

2樓:匿名使用者

問題一:為什麼mysql很少人用檢視?

答:mysql並不是很少人用,而是大部分一般直接通過sql查詢的方式來實現類似view功能,不願意 去增加這麼乙個過程,其實增加view還是有很多好處:

簡單性。檢視不僅可以簡化使用者對資料的理解,也可以簡化他們的操作。

安全性。通過檢視使用者只能查詢和修改他們所能見到的資料。

邏輯資料獨立性。檢視可以使應用程式和資料庫表在一定程度上獨立。

問題二:mysql和mssql有哪些本質區別?

mysql中檢視功能會節省sql解析時間嗎

3樓:坤哥

如果沒有變化(比如插入,刪除操作),就會直接呼叫檢視的快取資料,有變化就會重新查詢並重新整理快取。

4樓:匿名使用者

檢視功能,只是把多個表,按照自已的需求,東一塊西一塊,邏輯拼在一起,形成乙個邏輯表。

呼叫的時候直接操作這個邏輯表檢視就可以了,其它分析解釋的操作就交給mysql引擎去處理,最終查詢還是要經原來的物理表的。

用檢視是不會節省sql執行時間的,反而會增加解析時間,減少效率的。

mysql中,什麼是檢視,檢視的作用是什麼

5樓:

什麼是檢視?

檢視(view)是一種虛擬存在的表,是乙個邏輯表,本身並不包含資料。作為乙個select語句儲存在資料字典中的。

通過檢視,可以展現基表(用來建立檢視的表)的部分資料;檢視資料來自定義檢視的查詢中使用的表,使用檢視動態生成。

為什麼要使用檢視?因為檢視的諸多優點,如下:

1)簡單:使用檢視的使用者完全不需要關心後面對應的表的結構、關聯條件和篩選條件,對使用者來說已經是過濾好的復合條件的結果集。

2)安全:使用檢視的使用者只能訪問他們被允許查詢的結果集,對錶的許可權管理並不能限制到某個行某個列,但是通過檢視就可以簡單的實現。

3)資料獨立:一旦檢視的結構確定了,可以遮蔽表結構變化對使用者的影響,源表增加列對檢視沒有影響;源表修改列名,則可以通過修改檢視來解決,不會造成對訪問者的影響。

總而言之,使用檢視的大部分情況是為了保障資料安全性,提高查詢效率。

為什麼開源專案很少看到採用mysql檢視開發的

6樓:嬌嬌驕傲角

有歷史的遺留原因。早版本的mysql是沒有檢視功能的。

mysql的定位也決定了它的應用場景對檢視,觸發器這些高階功能比較少。再加上mysql的應用一般都是程式設計師兼任資料庫管理工作,沒有專職的dba。

再加上程式寫邏輯也不複雜。

mysql建檢視的時候不能用子查詢,mysql我用的是5.5版的了,怎麼辦?

7樓:小小辣椒

mysql試圖中是不可以使用子查詢的,你可以把子查詢 建立成乙個試圖,**如下:

create  view  view_bb  as ;

select id from bb;

然後再建立上面試圖,呼叫該試圖**:

select a.* from aa a inner join  view_bb   b on a.id=b.id,這們就可以用子查詢了。

mysql 是乙個關係型資料庫,由瑞典 mysql ab 公司開發,目前屬於 oracle 旗下公司。mysql 最流行的關係型資料庫管理系統,在 web 應用方面 mysql 是最好的 rdbms (relational database management system,關聯式資料庫管理系統) 應用軟體之一。

mysql 是一種關聯資料庫管理系統,關聯資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性。mysql 所使用的 sql 語言是用於訪問資料庫的最常用標準化語言。

mysql 軟體採用了雙授權政策(本詞條"授權政策"),它分為社群版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型**的開發都選擇 mysql 作為**資料庫。

由於其社群版的效能卓越,搭配 php ,linux和 apache 可組成良好的開發環境,經過多年的web技術發展,在業內被廣泛使用的一種web伺服器解決方案之一,稱之為lamp。

8樓:

首先要明確一點:mysql中是不能建立子查詢的。但是可以將子查詢 建立為乙個檢視。

以下為案例:

create  view  view_bb  as   select id from bb;

然後再建立檢視中  呼叫該檢視,如:

select a.* from aa a inner join  view_bb   b on a.id=b.id

檢視是乙個虛擬表,其內容由查詢定義。同真實的表一樣,檢視包含一系列帶有名稱的列和行資料。但是,檢視並不在資料庫中以儲存的資料值集形式存在。

行和列資料來自由定義檢視的查詢所引用的表,並且在引用檢視時動態生成。

對其中所引用的基礎表來說,檢視的作用類似於篩選。定義檢視的篩選可以來自當前或其它資料庫的乙個或多個表,或者其它檢視。通過檢視進行查詢沒有任何限制,通過它們進行資料修改時的限制也很少。

檢視是儲存在資料庫中的查詢的sql 語句,它主要出於兩種原因:安全原因, 檢視可以隱藏一些資料,如:社會保險**表,可以用檢視只顯示姓名,位址,而不顯示社會保險號和工資數等,另一原因是可使複雜的查詢易於理解和使用。

這個檢視就像乙個「視窗」,從中只能看到你想看的資料列。這意味著你可以在這個檢視上使用select *,而你看到的將是你在檢視定義裡給出的那些資料列。

參考資料

為什麼在資料庫建立的檢視裡沒有資料啊

9樓:匿名使用者

比如你的檢視是bai

create view v_name asselect ....

from ... where...

先試du試 as下面的** 看看zhi有dao資料沒select ....

from ... where..

執行看看....

如果沒救

說明本來就沒....

還有回乙個意思你就答說 檢視不包含實際資料。。

確實是這樣的。。。檢視只是一堆語句。。除非你給 檢視加了聚集索引 這個時候他包含資料

mysql的檢視功能能提高查詢速度嗎

10樓:1人我飲酒不醉

把在所有資料庫的所有表的所有許可權賦值給位於所有ip位址的root使用者。

mysql> grant all privileges on *.* to root@'%'identified by 'password';

如果是新使用者而不是root,則要先新建使用者mysql>create user 'username'@'%' identified by 'password';

此時就可以進行遠端連線了。

11樓:微笑宰小明

並不會哦,只是方便查詢了而已

為什麼市場上鵝肉很少見

1 有人說鵝是發物,吃了容易發病 2 不好大規模養殖,因為不能在短期增重,料肉比不高,農戶要虧本,鴨子28天可以食用,雞2個月左右就可以食用,豬6個月300斤左右 可是鵝和它們都不具備可比性。因為市場上對鵝肉的需求很少,有很多人不喜歡吃,我覺得吳山貢鵝就很好吃 為什麼菜市場雞鴨賣的有很多,偏偏鵝卻非...

大家經常拿老黃開玩笑為什麼很少見有人提到

農曆五月初五,俗稱 端午節 端是 開端 初 的意思。初五可以稱為端五。農曆以地支紀月,正月建寅,二月為卯,順次至五月為午,因此稱五月為午月,五 與 午 通,五 又為陽數,故端午又名端 五 重五 端陽 中天等。從史籍上看,端午 二字最早見於晉人周處 風土記 仲夏端午,烹鶩角黍 端午節是我國漢族的傳統節...

為什麼在洗車店裡很少見過法拉利,蘭博基尼這

這種車一般都是去精洗店,洗車費用很高的,一般都是會員制,去洗的車都是百萬級別的車,還有乙個原因,法拉利,蘭博基尼的車很少,尤其是在北方。為什麼在洗車店裡很少見過法拉利,蘭博基尼這些超跑 你好,本身法拉利,蘭博基尼這種車型保有量就非常小,所以肯定 都常見 買得起這些名車都是請專人回來在私家車庫里護理的...