您好,登錄后才能下訂單哦!
索引、視圖、游標(biāo)、存儲(chǔ)過程和觸發(fā)器的理解
索引、視圖、游標(biāo)、存儲(chǔ)過程和觸發(fā)器的理解
1、索引
1-1、索引的概述
我們把一個(gè)表中的一列或者多列和列中元素所在表中記錄的物理地址組合成一個(gè)新的表。這個(gè)表的記錄大致為列的內(nèi)容和該列所在記錄的物理地址。
1-2、索引的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):大大加快了對(duì)源表的執(zhí)行速度,我們對(duì)索引表的檢索就可以實(shí)現(xiàn)對(duì)源表的檢索。到底快在哪里?舉例說明:我們通過T-SQL語(yǔ)句查詢?cè)幢碇械囊粭l記錄,在沒有索引表的時(shí)候,計(jì)算機(jī)首先把整個(gè)源表從外存加載到內(nèi)存,然后再一一匹配,從外存加載到內(nèi)存耗時(shí)是非常的大;在有索引的時(shí)候,計(jì)算機(jī)首先加載索引表,然后匹配,找到后,取出它的物理地址,此時(shí),再?gòu)耐獯嬷屑虞d大表中的該記錄,這種方法,人看的時(shí)候麻煩,但計(jì)算機(jī)可能就不那么認(rèn)為(具體還要看源表記錄的長(zhǎng)度和數(shù)量)
缺點(diǎn):索引表需要占物理空間;當(dāng)對(duì)源表操作時(shí),也要維護(hù)索引表,是維護(hù)的任務(wù)加重了。
2、視圖
2-1、視圖的概述
視圖由一張表或多張表的列數(shù)據(jù)組成的一張?zhí)摂M表,所謂虛擬表,就是該整體表在硬盤上不存在,其實(shí),我們創(chuàng)建一個(gè)視圖,實(shí)際上是創(chuàng)建了一個(gè)經(jīng)過包裝了的Select語(yǔ)句,在這里我們稱為A,創(chuàng)建視圖,就是我們往硬盤存放了A,我們調(diào)用該視圖的時(shí)候,系統(tǒng)就會(huì)自動(dòng)執(zhí)行一遍A,然后,我們看見的就是一張表了。(這張表數(shù)據(jù)的改變時(shí),基表變不變,那要看具體情況了,可以說明的是,我們可以通過虛擬表達(dá)到改變基表數(shù)據(jù)的目的)
2-2、視圖的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):視圖可以限制我們對(duì)表中一些數(shù)據(jù)的訪問,增加了數(shù)據(jù)的安全性;減少了重復(fù)寫入T-SQL語(yǔ)句。
缺點(diǎn):復(fù)雜的視圖一般不能修改內(nèi)容;能修改的視圖,也需要經(jīng)過變化使該操作應(yīng)用到基表中。
3、游標(biāo)
3-1、游標(biāo)的概述
數(shù)據(jù)庫(kù)管理系統(tǒng)為了對(duì)數(shù)據(jù)的管理更加高效,采用的是整塊數(shù)據(jù)進(jìn)行管理操作,這個(gè)管理方式對(duì)于數(shù)據(jù)庫(kù)管理系統(tǒng)來說是非常的好的,但是,這種管理方式對(duì)于應(yīng)用程序來說不好,因?yàn)槲覒?yīng)用程序?qū)τ诓僮鞴芾淼臄?shù)據(jù)是很少的,而且針對(duì)性也強(qiáng),根據(jù)應(yīng)用程序的這些特點(diǎn),我們?yōu)榱耸箲?yīng)用程序更加的高效,我們創(chuàng)建了游標(biāo),游標(biāo)就是為了完成對(duì)數(shù)據(jù)集中的數(shù)據(jù)經(jīng)行更小單位的操作,也就是對(duì)記錄集中的數(shù)據(jù)的操作是按一條一條記錄經(jīng)行的,所以呢,游標(biāo)是由結(jié)果集(可以是零條、一條或由相關(guān)的選擇語(yǔ)句檢索出的多條記錄)和結(jié)果集中指向特定記錄的游標(biāo)位置組成。游標(biāo)是由管理多數(shù)據(jù)到少數(shù)據(jù),操作不確定數(shù)據(jù)到確定性數(shù)據(jù),對(duì)數(shù)據(jù)頂對(duì)性弱到針對(duì)性強(qiáng)的一種產(chǎn)物。
3-2、游標(biāo)的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):應(yīng)用程序可以應(yīng)用游標(biāo)對(duì)數(shù)據(jù)集經(jīng)行指定行的操作。
缺點(diǎn):使用不當(dāng)會(huì)使運(yùn)行效率更低。
4、存儲(chǔ)過程
4-1、存儲(chǔ)過程的概述
存儲(chǔ)過程就是一個(gè)SQL語(yǔ)句集,當(dāng)然,這個(gè)語(yǔ)句集可以完成特定的功能,存儲(chǔ)過程建立后,就先會(huì)經(jīng)過編譯,然后,存放在硬盤上。
4-2、存儲(chǔ)過程的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):一次編譯,多次執(zhí)行,使用戶不用多次的書寫相同的SQL語(yǔ)句了,同時(shí)這些SQL語(yǔ)句也不用一直先編譯在執(zhí)行了,節(jié)省了時(shí)間。
缺點(diǎn):簡(jiǎn)單應(yīng)用換可以,復(fù)雜的時(shí)候應(yīng)用,就是變的復(fù)雜。
5、觸發(fā)器
5-1、觸發(fā)器的概述
觸發(fā)器就是特殊的存儲(chǔ)過程,特殊在,觸發(fā)器不需要通過人為(例:在程序中調(diào)用)的操作來啟動(dòng)它,觸發(fā)器的啟動(dòng)是由事件(刪除、更新等)的執(zhí)行來自動(dòng)啟動(dòng)的。
5-2、觸發(fā)器的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):是數(shù)據(jù)的安全性更強(qiáng),例:通過觸發(fā)器可以取消刪除數(shù)據(jù)的操作。
缺點(diǎn):維護(hù)數(shù)據(jù)的時(shí)候變得有些復(fù)雜。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。