這篇文章主要介紹“MySQL視圖能不能創(chuàng)建索引”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“mysql視圖能不能創(chuàng)建索引”文章能幫助大家解決問(wèn)題。
專(zhuān)注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)平湖免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
mysql視圖不能創(chuàng)建索引。視圖是一種虛擬存在的表,并不實(shí)際存在于數(shù)據(jù)庫(kù)中,它是沒(méi)有實(shí)際行和列的(行和列的數(shù)據(jù)來(lái)自于定義視圖的查詢中所使用的表);而索引是一種特殊的數(shù)據(jù)庫(kù)結(jié)構(gòu),由數(shù)據(jù)表中的一列或多列組合而成,因此視圖中不能創(chuàng)建索引,沒(méi)有主鍵,也不能使用觸發(fā)器。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
mysql視圖不能創(chuàng)建索引。
MySQL 視圖(View)是一種虛擬存在的表,并不實(shí)際存在于數(shù)據(jù)庫(kù)中,它是沒(méi)有實(shí)際行和列的;行和列的數(shù)據(jù)來(lái)自于定義視圖的查詢中所使用的表,并且還是在使用視圖時(shí)動(dòng)態(tài)生成的。
數(shù)據(jù)庫(kù)中只存放了視圖的定義,并沒(méi)有存放視圖中的數(shù)據(jù),這些數(shù)據(jù)都存放在定義視圖查詢所引用的真實(shí)表中。使用視圖查詢數(shù)據(jù)時(shí),數(shù)據(jù)庫(kù)會(huì)從真實(shí)表中取出對(duì)應(yīng)的數(shù)據(jù)。因此,視圖中的數(shù)據(jù)是依賴(lài)于真實(shí)表中的數(shù)據(jù)的。一旦真實(shí)表中的數(shù)據(jù)發(fā)生改變,顯示在視圖中的數(shù)據(jù)也會(huì)發(fā)生改變。
而索引是一種特殊的數(shù)據(jù)庫(kù)結(jié)構(gòu),由數(shù)據(jù)表中的一列或多列組合而成,可以用來(lái)快速查詢數(shù)據(jù)表中有某一特定值的記錄。本節(jié)將詳細(xì)講解索引的含義、作用和優(yōu)缺點(diǎn)。
通過(guò)索引,查詢數(shù)據(jù)時(shí)不用讀完記錄的所有信息,而只是查詢索引列。否則,數(shù)據(jù)庫(kù)系統(tǒng)將讀取每條記錄的所有信息進(jìn)行匹配。
因此:索引由數(shù)據(jù)表中的一列或多列組合而成,而視圖是一種虛擬存在的表,沒(méi)有實(shí)際行和列的;進(jìn)而mysql視圖不能創(chuàng)建索引。
擴(kuò)展知識(shí):mysql視圖
mysql視圖本質(zhì)上就是語(yǔ)句,當(dāng)你調(diào)用視圖的時(shí)候數(shù)據(jù)庫(kù)管理系統(tǒng)會(huì)先去找視圖中封裝的語(yǔ)句,先執(zhí)行生成視圖的語(yǔ)句,再在視圖的基礎(chǔ)上進(jìn)行查詢
視圖的優(yōu)點(diǎn)
視圖與表在本質(zhì)上雖然不相同,但視圖經(jīng)過(guò)定義以后,結(jié)構(gòu)形式和表一樣,可以進(jìn)行查詢、修改、更新和刪除等操作。同時(shí),視圖具有如下優(yōu)點(diǎn):
1) 定制用戶數(shù)據(jù),聚焦特定的數(shù)據(jù)
在實(shí)際的應(yīng)用過(guò)程中,不同的用戶可能對(duì)不同的數(shù)據(jù)有不同的要求。
例如,當(dāng)數(shù)據(jù)庫(kù)同時(shí)存在時(shí),如學(xué)生基本信息表、課程表和教師信息表等多種表同時(shí)存在時(shí),可以根據(jù)需求讓不同的用戶使用各自的數(shù)據(jù)。學(xué)生查看修改自己基本信息的視圖,安排課程人員查看修改課程表和教師信息的視圖,教師查看學(xué)生信息和課程信息表的視圖。
2) 簡(jiǎn)化數(shù)據(jù)操作
在使用查詢時(shí),很多時(shí)候要使用聚合函數(shù),同時(shí)還要顯示其他字段的信息,可能還需要關(guān)聯(lián)到其他表,語(yǔ)句可能會(huì)很長(zhǎng),如果這個(gè)動(dòng)作頻繁發(fā)生的話,可以創(chuàng)建視圖來(lái)簡(jiǎn)化操作。
3) 提高數(shù)據(jù)的安全性
視圖是虛擬的,物理上是不存在的。可以只授予用戶視圖的權(quán)限,而不具體指定使用表的權(quán)限,來(lái)保護(hù)基礎(chǔ)數(shù)據(jù)的安全。
4) 共享所需數(shù)據(jù)
通過(guò)使用視圖,每個(gè)用戶不必都定義和存儲(chǔ)自己所需的數(shù)據(jù),可以共享數(shù)據(jù)庫(kù)中的數(shù)據(jù),同樣的數(shù)據(jù)只需要存儲(chǔ)一次。
5) 更改數(shù)據(jù)格式
通過(guò)使用視圖,可以重新格式化檢索出的數(shù)據(jù),并組織輸出到其他應(yīng)用程序中。
6) 重用 SQL 語(yǔ)句
視圖提供的是對(duì)查詢操作的封裝,本身不包含數(shù)據(jù),所呈現(xiàn)的數(shù)據(jù)是根據(jù)視圖定義從基礎(chǔ)表中檢索出來(lái)的,如果基礎(chǔ)表的數(shù)據(jù)新增或刪除,視圖呈現(xiàn)的也是更新后的數(shù)據(jù)。視圖定義后,編寫(xiě)完所需的查詢,可以方便地重用該視圖。
要注意區(qū)別視圖和數(shù)據(jù)表的本質(zhì),即視圖是基于真實(shí)表的一張?zhí)摂M的表,其數(shù)據(jù)來(lái)源均建立在真實(shí)表的基礎(chǔ)上。
使用視圖的時(shí)候,還應(yīng)該注意以下幾點(diǎn):
創(chuàng)建視圖需要足夠的訪問(wèn)權(quán)限。
創(chuàng)建視圖的數(shù)目沒(méi)有限制。
視圖可以嵌套,即從其他視圖中檢索數(shù)據(jù)的查詢來(lái)創(chuàng)建視圖。
視圖不能索引,也不能有關(guān)聯(lián)的觸發(fā)器、默認(rèn)值或規(guī)則。
視圖可以和表一起使用。
視圖不包含數(shù)據(jù),所以每次使用視圖時(shí),都必須執(zhí)行查詢中所需的任何一個(gè)檢索操作。如果用多個(gè)連接和過(guò)濾條件創(chuàng)建了復(fù)雜的視圖或嵌套了視圖,可能會(huì)發(fā)現(xiàn)系統(tǒng)運(yùn)行性能下降得十分嚴(yán)重。因此,在部署大量視圖應(yīng)用時(shí),應(yīng)該進(jìn)行系統(tǒng)測(cè)試。
關(guān)于“mysql視圖能不能創(chuàng)建索引”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
網(wǎng)頁(yè)標(biāo)題:mysql視圖能不能創(chuàng)建索引
瀏覽路徑:http://chinadenli.net/article34/gohhse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、軟件開(kāi)發(fā)、App設(shè)計(jì)、網(wǎng)站收錄、靜態(tài)網(wǎng)站、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)