掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流
數(shù)據(jù)庫(kù)視圖是指通過(guò)對(duì)數(shù)據(jù)庫(kù)中存在的一部分?jǐn)?shù)據(jù)進(jìn)行過(guò)濾和提取,創(chuàng)建的一個(gè)虛擬的表,常常被用來(lái)簡(jiǎn)化復(fù)雜查詢(xún)和提高檢索效率。在數(shù)據(jù)庫(kù)系統(tǒng)中,視圖是一種重要的數(shù)據(jù)對(duì)象,因此其存放位置也十分重要。在本文中,我們將討論及其影響因素。

一、
通常有兩種形式:系統(tǒng)視圖和用戶(hù)視圖,它們分別存放在系統(tǒng)表和用戶(hù)表中。
1.1 系統(tǒng)視圖
系統(tǒng)視圖是由數(shù)據(jù)庫(kù)管理系統(tǒng)創(chuàng)建的視圖,用于存儲(chǔ)關(guān)于數(shù)據(jù)庫(kù)內(nèi)部構(gòu)造的信息,例如存儲(chǔ)過(guò)程、表格、程序代碼、索引等等。系統(tǒng)視圖存儲(chǔ)在特殊的系統(tǒng)表中,用戶(hù)不能更改其內(nèi)容和結(jié)構(gòu)。
1.2 用戶(hù)視圖
用戶(hù)視圖是由數(shù)據(jù)庫(kù)用戶(hù)自己創(chuàng)建的視圖,用于簡(jiǎn)化和優(yōu)化查詢(xún)操作。用戶(hù)視圖的存放位置通常在用戶(hù)自己的模式中,每個(gè)用戶(hù)的模式都有一個(gè)獨(dú)立的名稱(chēng),當(dāng)用戶(hù)創(chuàng)建視圖時(shí),該視圖會(huì)自動(dòng)存放在當(dāng)前模式中的用戶(hù)表中。
二、影響因素
2.1 數(shù)據(jù)訪問(wèn)權(quán)限
受到數(shù)據(jù)訪問(wèn)權(quán)限的限制。在多用戶(hù)數(shù)據(jù)庫(kù)系統(tǒng)中,不同用戶(hù)之間可能存在數(shù)據(jù)隔離的情況,每個(gè)用戶(hù)僅能訪問(wèn)自己的數(shù)據(jù),不能訪問(wèn)其他用戶(hù)的數(shù)據(jù)。因此,用戶(hù)在創(chuàng)建視圖時(shí),只能將其存放在自己的模式中,以確保數(shù)據(jù)的隔離性。
同時(shí),數(shù)據(jù)庫(kù)管理員可以根據(jù)具體需求為用戶(hù)授予特定的數(shù)據(jù)訪問(wèn)權(quán)限,以控制其對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的訪問(wèn)、修改和刪除。這也進(jìn)一步影響了用戶(hù)可以創(chuàng)建視圖的對(duì)象和視圖的存放位置。
2.2 數(shù)據(jù)庫(kù)性能
還會(huì)影響數(shù)據(jù)庫(kù)的性能。在處理大型數(shù)據(jù)集時(shí),查詢(xún)速度是一個(gè)關(guān)鍵的問(wèn)題,視圖也是提高查詢(xún)效率的一種手段。如果用戶(hù)創(chuàng)建的視圖存放在磁盤(pán)上,而不是在內(nèi)存中,則會(huì)降低查詢(xún)速度。
為了提高數(shù)據(jù)庫(kù)性能,用戶(hù)視圖通常需要存放在內(nèi)存中。這可以通過(guò)使用緩存來(lái)實(shí)現(xiàn),當(dāng)用戶(hù)查詢(xún)視圖時(shí),系統(tǒng)將其緩存到內(nèi)存中,并在接下來(lái)的查詢(xún)中使用緩存來(lái)提高查詢(xún)效率。
2.3 數(shù)據(jù)庫(kù)結(jié)構(gòu)
還取決于數(shù)據(jù)庫(kù)的結(jié)構(gòu)和特定的需求。在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),需要考慮存儲(chǔ)數(shù)據(jù)的大小和復(fù)雜程度,以及數(shù)據(jù)之間的依賴(lài)關(guān)系。具體到視圖的存放位置,需要考慮該視圖是否需要使用表之間的外鍵關(guān)系,以及是否需要使用計(jì)算字段等。
如果某個(gè)視圖需要訪問(wèn)多個(gè)表,那么存放位置需要考慮到這些表之間的關(guān)系,通常需要存放在模式中,而不是在系統(tǒng)表中。
三、
數(shù)據(jù)庫(kù)視圖是一種重要的數(shù)據(jù)對(duì)象,其存放位置會(huì)影響數(shù)據(jù)庫(kù)的性能、數(shù)據(jù)隔離和訪問(wèn)權(quán)限等方面。在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),需要考慮數(shù)據(jù)庫(kù)的結(jié)構(gòu)和特定的需求,確定。同時(shí),為了提高數(shù)據(jù)庫(kù)的性能,可以使用緩存來(lái)存儲(chǔ)視圖,以加快查詢(xún)速度。
相關(guān)問(wèn)題拓展閱讀:
你首先要理解什么是查詢(xún)結(jié)果集
查詢(xún)時(shí)實(shí)判顫兄現(xiàn)數(shù)據(jù)庫(kù)操作的最主要方法,盡管從查詢(xún)結(jié)果集看到的數(shù)據(jù)與打開(kāi)的數(shù)據(jù)表看到的數(shù)據(jù)一樣,但實(shí)質(zhì)是完全不同的:
*數(shù)據(jù)表是數(shù)據(jù)庫(kù)中存放數(shù)據(jù)的實(shí)體對(duì)象,在數(shù)據(jù)表中看到的是數(shù)據(jù)的靜態(tài)物理,是實(shí)際的數(shù)據(jù)源表。
*查詢(xún)只是針對(duì)數(shù)據(jù)源的操作命令(程序),在查詢(xún)結(jié)果中看到的是數(shù)據(jù)的動(dòng)態(tài)邏輯,是執(zhí)行命令對(duì)數(shù)據(jù)表操作的結(jié)果,十一哥虛擬的數(shù)據(jù)表。
視圖的概念
我們經(jīng)常使用SELECT語(yǔ)句,尤其是比較復(fù)雜的查詢(xún)語(yǔ)句,如果每次使用都要重復(fù)地輸入代碼是很麻煩的,如果將該語(yǔ)句保存為一個(gè)對(duì)象,每次使用時(shí)不需要輸入代碼,只給出對(duì)象的名字就能方便地使用,簡(jiǎn)化查詢(xún)操作。這個(gè)對(duì)象就是視圖。
視圖實(shí)際上就是給查詢(xún)語(yǔ)句指定一個(gè)名字,將查詢(xún)語(yǔ)句定義為一個(gè)獨(dú)立的對(duì)象保存。
既然視圖是由SELECT查詢(xún)語(yǔ)句構(gòu)成的,那么使用視圖就可以直接得到SELECT語(yǔ)句的查詢(xún)結(jié)果集,所以我們就可以這樣為視圖下一個(gè)定義:
視圖:就是基于一個(gè)或多個(gè)數(shù)據(jù)表的動(dòng)態(tài)數(shù)據(jù),是一個(gè)邏輯上的虛擬數(shù)據(jù)表。
另一方面,視圖又具有更強(qiáng)的功能:使用SELECT語(yǔ)句只能在結(jié)果集——?jiǎng)討B(tài)邏輯虛擬表中查看數(shù)據(jù),而使用視圖不但可以查看數(shù)據(jù),而且可以作為SQL語(yǔ)句的數(shù)據(jù)掘襲源,并且可以直接在視圖中對(duì)數(shù)據(jù)表進(jìn)行編輯修改刪除——更新數(shù)據(jù)表洞晌中的數(shù)據(jù)。
視圖只能查看,但不能編輯,比如你有3張表,一張表是客戶(hù)的基本信息,一張是工作信息,一張是資產(chǎn)信息,如果你經(jīng)常需要把這3張表聯(lián)合起來(lái)查詢(xún),比如某個(gè)客戶(hù)的姓名,工作單位扮寬和資產(chǎn)總額,如果每次都join一遍,sql語(yǔ)句很長(zhǎng),而且效率也不高,可以把這3張表做成視廳櫻亮圖,視圖頌消是提前編譯好的,查起來(lái)就像一張表,可以直接from,可以速度比join快。
視圖也叫虛表,存放的是解釋后的sql語(yǔ)句,不保存實(shí)際數(shù)據(jù),不占物理空間,即視圖本身不包含任何數(shù)據(jù),只包含映射到表的一個(gè)查詢(xún)語(yǔ)句,當(dāng)表數(shù)據(jù)發(fā)生變化時(shí),視圖也隨之變化,
作用:方便查詢(xún),限制數(shù)據(jù)訪問(wèn)(視圖本質(zhì)是一條select語(yǔ)句,)當(dāng)訪問(wèn)視圖時(shí),只能訪問(wèn)到select語(yǔ)句中涉及到的列,對(duì)其者段他列起到安全和保密的作用。
一般應(yīng)該用在查詢(xún)的方面,比沒(méi)嫌棚如特定的查詢(xún)頁(yè)面,而且經(jīng)常調(diào)用,就可以用視圖提高效率。(個(gè)人看法?。?/p>
具體應(yīng)用場(chǎng)合應(yīng)該要看業(yè)務(wù)需求了,我只知道這么多,
其他的就需要數(shù)據(jù)庫(kù)方面的大神給你解答了。希望能幫枯則到你。
復(fù)雜的查詢(xún)(如決策支持系統(tǒng)中的查詢(xún))可引用基表中的大量行,并腔啟缺將大量信息聚積在相對(duì)較簡(jiǎn)潔的聚合中,如總和或平均值。SQL Server 2023 支持在執(zhí)行此類(lèi)復(fù)雜查詢(xún)的視圖上創(chuàng)建聚集索引。當(dāng)執(zhí)行 CREATE INDEX 語(yǔ)句時(shí),視圖 SELECT 的結(jié)果集將永久存儲(chǔ)在數(shù)據(jù)庫(kù)中。SQL 語(yǔ)句此后若引用該視圖,響應(yīng)時(shí)間將會(huì)顯著縮短。對(duì)基本數(shù)據(jù)的修改將自動(dòng)反映在視圖中。
SQL Server 2023 CREATE VIEW 語(yǔ)句支持 SCHEMABINDING 選項(xiàng),以防止視圖所引用的表在視圖未被調(diào)整的情況下發(fā)生改旁纖變。伍辯必須為任何創(chuàng)建索引的視圖指定 SCHEMABINDING。
例:創(chuàng)建視圖
Create View TitleView
AS
Select ID,Title,PostTime,Hits From
然后引用Select Top 100 * From TitleView
用循環(huán)輸出數(shù)據(jù)與直接Select Top 100 * From 相比速度提高將近30毫秒!
關(guān)于數(shù)據(jù)庫(kù)中的視圖放在哪兒的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專(zhuān)業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流