999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

關(guān)于SQL視圖優(yōu)點和缺點的淺探

2017-12-28 15:45:13李素奇射陽縣中醫(yī)院
數(shù)碼世界 2017年12期
關(guān)鍵詞:定義數(shù)據(jù)庫

李素奇 射陽縣中醫(yī)院

關(guān)于SQL視圖優(yōu)點和缺點的淺探

李素奇 射陽縣中醫(yī)院

在SQL中查詢數(shù)據(jù)時,一般從設(shè)計SELECT語句開始,將需要查詢的字段寫下來,而每次你要來查詢數(shù)據(jù)時(同樣的條件下),那么就需要重復(fù)輸入一樣的查詢語句,效率低下。但將這個經(jīng)常要重復(fù)使用的查詢語句創(chuàng)建成視圖,就簡單了!我們在程序設(shè)計的時,要先了解視圖的優(yōu)點和缺點,這樣就可以揚(yáng)長避短,更合理的來使用它。

視圖 優(yōu)點 缺點

在SQL Server數(shù)據(jù)庫中,表定義了數(shù)據(jù)的編排方式和結(jié)構(gòu)。在SQL Server數(shù)據(jù)庫中查看存儲的數(shù)據(jù)的方法也不是唯一的,可通過定義SQL Server數(shù)據(jù)庫的數(shù)據(jù)視圖來展現(xiàn)。使用SELECT…FROM語句從一個或多個表中導(dǎo)出數(shù)據(jù)形成視圖,這些表我們稱之為基表。當(dāng)然 我們也可以從一個、多個視圖中生成新的視圖。視圖又可稱為虛表,是因為在數(shù)據(jù)庫中存有導(dǎo)出視圖的查詢語句,但是查詢出的相關(guān)視圖定義的數(shù)據(jù)在數(shù)據(jù)庫中并未增加,在生成的視圖中看到的數(shù)據(jù)是基于實際的表中數(shù)據(jù),兩者在操作上并沒有區(qū)別,但兩者之間的差異在本質(zhì)是不同的。視圖并沒有保存任何記錄,它存儲的是查詢語句,其查詢的記錄實際來自于數(shù)據(jù)表,也可以為多張數(shù)據(jù)表,所以說視圖應(yīng)用的寬度很大!我們可以根據(jù)各種查詢要求來創(chuàng)建不同視圖,且不會增加SQL Server數(shù)據(jù)庫中現(xiàn)有的數(shù)據(jù)量。

1 視圖的優(yōu)點

1.1 視圖的簡易性:為了將重復(fù)、復(fù)雜的操作簡化,我們可以把復(fù)雜的查詢直接定義為視圖。這樣就使用戶所需要的SQL Server數(shù)據(jù)庫結(jié)構(gòu)視圖更具“個性化”。

1.2 視圖的安全性:為了保護(hù)表的安全性,我們往往根據(jù)使用的類別、范圍來劃分?jǐn)?shù)據(jù)庫表的操作權(quán)限,當(dāng)然有時這也存在一定的局限性,這時就可以在視圖上通過REVOKE和GRANT命令給用戶授予操作權(quán)限。通過這樣的視圖,他們只能修改或查詢視圖顯示的數(shù)據(jù),而不能修改SQL Server數(shù)據(jù)庫表中不可見的數(shù)據(jù)。

1.3 數(shù)據(jù)的隔離變化:有時數(shù)據(jù)庫的表重新組合或發(fā)生變化更改,我們只需要重新定義視圖,還是可以在該視圖上取得一致、沒有變化的數(shù)據(jù)。

1.4 視圖維護(hù)的簡易型:有時可以根據(jù)where條件中過濾,用過濾后查詢出來的數(shù)據(jù)集組成視圖。我們會發(fā)現(xiàn)調(diào)試查詢比調(diào)試視圖要更復(fù)雜。在跟蹤視圖過程中時,更加容易分析各個步驟中的錯誤,這是因為視圖的組成部分包含了所有的執(zhí)行步驟。

2 視圖的缺點

2.1 視圖的性能:SQL Server對視圖的查詢是直接被轉(zhuǎn)化為對表的查詢,所以當(dāng)視圖由一個或者復(fù)雜的多表查詢生成時,即使該視圖只包含一個很簡單的查詢,SQL Server也需要比直接對基本表查詢花費更多的時間。

2.2 視圖的修改限制:當(dāng)視圖只涉及到簡單的基本表時,我們修改視圖中行或列中的數(shù)據(jù),很方便,但是如果該視圖由復(fù)雜的多表查詢生成時,可能數(shù)據(jù)并不能被修改。

3 創(chuàng)建視圖的分類

3.1 水平視圖:創(chuàng)建視圖時,限制了只能夠存取表中的規(guī)定的一些數(shù)據(jù)行,即SQL Server數(shù)據(jù)庫中表中行的子集。

3.2 投影視圖:創(chuàng)建視圖時,限制了只能夠存取表中的規(guī)定的一些數(shù)據(jù)列,即SQL Server數(shù)據(jù)庫中表中列的子集。如在醫(yī)院信息管理系統(tǒng)(HIS系統(tǒng))數(shù)據(jù)庫中我們只關(guān)心掛號表(allpat表)中病人的姓名、身份證號及金額。所以可以創(chuàng)建如下視圖:

Create view allpat_v

As

Select pat_name,sfz_no,je from allpat

在投影視圖中,SQL Server數(shù)據(jù)庫管理員可以按用戶的需求生成專用視圖,這個專用視圖只由所需要的列組成。

3.3 聯(lián)合視圖:當(dāng)我們使用視圖時的一個原因就是多表查詢的簡化,在多個表中提取數(shù)據(jù)生成聯(lián)合視圖,查詢出的結(jié)果被當(dāng)做一個單獨的“可見表”。這種視圖一旦生成,就可以查詢這些視圖來替代多表查詢的請求,提高了查詢的效率。當(dāng)然在定義視圖時,外連接不能用。

3.4 視圖的視圖:即在視圖的基礎(chǔ)上創(chuàng)建視圖,不同于基于表創(chuàng)建的視圖。

4 視圖應(yīng)用的實例

有三張數(shù)據(jù)表:allpat、mzappitem和mzdj,其中allpat的記錄為1萬條左右,mzdj中的數(shù)據(jù)為10萬條mzappitem 100萬條以上,現(xiàn)在以 allpat.pre_no=mzdj.pre_no and mzdj.dj=mzappitem.dj為關(guān)聯(lián)進(jìn)行數(shù)據(jù)篩選。這時做了個SQL SERVER視圖info,運(yùn)行該視圖的查詢,花時4秒得到了結(jié)果。

現(xiàn)根據(jù)特殊需求來編寫有一個游標(biāo)的循環(huán)的存儲過程,該游標(biāo)反復(fù)300次循環(huán),且在每次循環(huán)時都對info使用了查詢。

循環(huán)游標(biāo)體(重復(fù)300次)

select @pre_no=pre_no from info where dj_id=@id --其中@pre_no @id均為變量

update mzdj1 set pre_no =@ pre_no where dj_id=@id

在執(zhí)行上述存儲過程時,需要花費大于2分鐘的時間,進(jìn)行分析后,運(yùn)行效率的低下在于對info視圖的掃描上,盡管單獨對該視圖進(jìn)行查詢耗時1秒,但重復(fù)讀取情況耗費了太多的時間。

如何既能有效的使用視圖,又能高效的運(yùn)行呢?故此按如下修改存儲過程:

具體思路是:創(chuàng)建一個臨時表,把所需的數(shù)據(jù)先插入進(jìn)去,再運(yùn)行存儲過程。

create table #temp ( id nvarchar(20), pre_no nvarchar(20))

查詢info視圖,將記錄插入到#temp臨時表中.. 循環(huán)游標(biāo)體(重復(fù)500次)

select @pre_no=pre_no from #temp where dj_id=@id --其中@pre_no,@id均為變量

update mzdj1 set pre_no =@ pre_no where dj_id=@id}

運(yùn)行后該存儲過程只花費10秒的時間。

綜上所述我們知道每種視圖都有各自的使用規(guī)則及范圍,使用不恰當(dāng)就會拖累性能,而使用得恰當(dāng)則會使性能提升,所以在定義視圖時,需謹(jǐn)慎權(quán)衡視圖的優(yōu)點和缺點。

總之,對視圖的善加運(yùn)用可以讓我們在對數(shù)據(jù)庫的設(shè)計、管理及使用都更加有效率、更加方便。

[1] 微軟公司,SQL Server數(shù)據(jù)庫程序設(shè)計,高等教育出版社,2005.

[2] 楊正洪鄭齊健鄭齊心鄭齊燕等,SQL Server關(guān)系數(shù)據(jù)庫管理與開發(fā)指南,機(jī)械工業(yè)出版社,2000

[3] sql之淺談視圖的作用,紅黑聯(lián)盟,2014.

[4]sql server 函數(shù)與視圖的使用,wgw5363240的專欄,2016.

猜你喜歡
定義數(shù)據(jù)庫
永遠(yuǎn)不要用“起點”定義自己
海峽姐妹(2020年9期)2021-01-04 01:35:44
定義“風(fēng)格”
數(shù)據(jù)庫
財經(jīng)(2017年15期)2017-07-03 22:40:49
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
修辭學(xué)的重大定義
山的定義
主站蜘蛛池模板: 国产福利小视频在线播放观看| 理论片一区| 丁香婷婷激情网| 欧美天天干| 国产午夜看片| 人妻免费无码不卡视频| 亚洲天堂网在线视频| 亚洲欧美日韩久久精品| 不卡无码h在线观看| 亚洲欧洲日本在线| 91精品国产麻豆国产自产在线| 欧美精品亚洲精品日韩专| 亚洲欧美另类专区| 国产激爽爽爽大片在线观看| 在线无码九区| 91日本在线观看亚洲精品| 日本人妻一区二区三区不卡影院| 波多野结衣国产精品| 久久香蕉国产线看观看式| 国产中文在线亚洲精品官网| 四虎国产成人免费观看| 免费一级无码在线网站| 2022国产无码在线| 国产第二十一页| 亚洲一区黄色| 九九这里只有精品视频| 国产成人调教在线视频| 色妞www精品视频一级下载| 久久婷婷色综合老司机| 99视频在线免费看| 中文纯内无码H| 国产成人精品一区二区免费看京| 国产微拍一区二区三区四区| 国产成+人+综合+亚洲欧美| 夜夜拍夜夜爽| 无码综合天天久久综合网| 欧美天堂在线| 精品久久香蕉国产线看观看gif| 99er这里只有精品| 亚洲精品中文字幕午夜| 欧美日韩一区二区在线播放 | 国产精品久久久久久久久| 日本午夜三级| 亚洲最黄视频| 国产精品久久久久久久久kt| 538精品在线观看| 亚洲天堂精品视频| 99re视频在线| 久久久久亚洲精品成人网 | 国产欧美日韩18| 免费高清毛片| 毛片卡一卡二| 亚洲欧美成人综合| 宅男噜噜噜66国产在线观看| 欧美亚洲第一页| 国产原创演绎剧情有字幕的| 中文字幕欧美日韩| 亚洲—日韩aV在线| 欧美激情二区三区| 97超爽成人免费视频在线播放| 日本亚洲最大的色成网站www| 日本精品影院| 在线无码私拍| 中国国产一级毛片| 精品三级网站| 欧美成人综合视频| 亚洲日韩高清在线亚洲专区| 日本午夜影院| 国内老司机精品视频在线播出| 亚洲免费黄色网| 国产永久免费视频m3u8| 亚洲人成网站色7799在线播放| 国产精品嫩草影院视频| 日韩中文精品亚洲第三区| 国产肉感大码AV无码| 综合色天天| 欧美日韩亚洲国产主播第一区| 视频二区国产精品职场同事| 日韩精品亚洲人旧成在线| 国产乱肥老妇精品视频| 激情网址在线观看| 久久综合丝袜日本网|