国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于直接連接的查詢優(yōu)化處理方法研究

2017-05-30 12:10:18馬東波
科技尚品 2017年1期
關(guān)鍵詞:方法

馬東波

摘 要:在分布式數(shù)據(jù)庫查詢中多采用直接連接的方式,但是這種方式耗時(shí)較長,代價(jià)較高,查詢效率低。本文結(jié)合現(xiàn)有的連接查詢方法,深入研究基于直接連接的查詢優(yōu)化處理方法,有效縮短查詢處理時(shí)間。

關(guān)鍵詞:直接連接的查詢;優(yōu)化處理;方法

近年來,分布式系統(tǒng)得到了廣泛的應(yīng)用。分布式信息庫查詢是現(xiàn)代信息處理中的重要部分。在分布式數(shù)據(jù)查詢處理時(shí),連接操作能夠直接決定查詢效率。為實(shí)現(xiàn)分布式數(shù)據(jù)庫系統(tǒng)更加有效地處理連接操作,業(yè)內(nèi)人士進(jìn)行了大量的探究實(shí)驗(yàn),最終形成了不同的算法。優(yōu)化連接操作的途徑一般有兩種,即半連接與直接連接。在注重本地處理代價(jià)時(shí),一般采用直接連接的方式。本文針對直接連接提出了優(yōu)化算法,并利用數(shù)據(jù)分片進(jìn)行并行處理。

1 數(shù)據(jù)分片

數(shù)據(jù)分片,即數(shù)據(jù)劃分,是分布式數(shù)據(jù)庫的主要特征之一。各個(gè)局部數(shù)據(jù)庫按照一定的邏輯組合成全局?jǐn)?shù)據(jù)庫。反之,全局?jǐn)?shù)據(jù)庫按照特定的邏輯進(jìn)行分割即成局部數(shù)據(jù)庫。通常來說,在關(guān)系數(shù)據(jù)庫中,一個(gè)關(guān)系能夠?qū)⒛承?shù)據(jù)間的邏輯關(guān)系描述出來。但是,由于用戶使用的站點(diǎn)不同,需要該關(guān)系中的元祖也可能不同,此時(shí)就需要分割這個(gè)關(guān)系,將得到的各部分元祖稱為邏輯片段,滿足各個(gè)用戶要求,減少網(wǎng)絡(luò)通信量,提高系統(tǒng)響應(yīng)的速度。

數(shù)據(jù)分片有4種方法:①水平分片:按一定的條件把全局關(guān)系的所有元組劃分成若干不相交的子集,每個(gè)子集為關(guān)系的一個(gè)片段;②垂直分片:把一個(gè)全局關(guān)系的屬性集分成若干子集,并在這些子集上作投影運(yùn)算,每個(gè)投影稱為垂直分片;③導(dǎo)出分片:又稱為導(dǎo)出水平分片,即水平分片的條件不是本關(guān)系屬性的條件,而是其他關(guān)系屬性的條件;④混合分片:以上3種方法的混合??梢韵人椒制俅怪狈制?,或先垂直分片再水平分片,或其他形式,但他們的結(jié)果是不相同的。

數(shù)據(jù)分片應(yīng)該具備的條件:①完備性條件:必須把全局關(guān)系的所有數(shù)據(jù)映射到片段中,決不允許有屬于全局關(guān)系的數(shù)據(jù)卻不屬于它的某一個(gè)片段;②可重構(gòu)條件:必須保證能夠由同一個(gè)全局關(guān)系的各個(gè)片段來重建該全局關(guān)系。對于水平分片可用并操作重構(gòu)全局關(guān)系;對于垂直分片可用聯(lián)接操作重構(gòu)全局關(guān)系;不相交條件:要求一個(gè)全局關(guān)系被分割后所得的各個(gè)數(shù)據(jù)片段互不重疊,但是對垂直分片的主鍵除外。

2 查詢優(yōu)化處理的目標(biāo)及執(zhí)行代價(jià)

2.1 查詢優(yōu)化目標(biāo)

基于直接連接的查詢優(yōu)化可能涉及多個(gè)站點(diǎn),查詢優(yōu)化的目標(biāo)一般有兩種:總代價(jià)最小??偞鷥r(jià)包括CPU及I/O代價(jià)、網(wǎng)絡(luò)在各個(gè)站點(diǎn)之間數(shù)據(jù)傳輸?shù)拇鷥r(jià)。因?yàn)閿?shù)據(jù)在分布式數(shù)據(jù)庫中是分布、冗余的,在直接連接查詢處理時(shí)需要考慮數(shù)據(jù)及信息傳遞所產(chǎn)生的通信費(fèi)用;另一種目標(biāo)即響應(yīng)處理時(shí)間短,由于數(shù)據(jù)的分散及冗余,并行處理的可能性很大。由于系統(tǒng)應(yīng)用不盡相同,通常著重與實(shí)現(xiàn)一種目標(biāo)。本文致力于達(dá)到總代價(jià)最小的目標(biāo)。

2.2 查詢執(zhí)行代價(jià)

主要包括:I/O代價(jià)、CPU代價(jià)、通信代價(jià)。

查詢執(zhí)行代價(jià)模型包括:I/O代價(jià)模型。一次訪問代價(jià)計(jì)算可通過CIO=DO+D1*X(DO表示I/O代價(jià),與X無關(guān);X為存取數(shù)據(jù)大??;D1表示傳輸單位數(shù)據(jù)所花費(fèi)的時(shí)間),在實(shí)際優(yōu)化過程中,由于代價(jià)只用于進(jìn)行執(zhí)行方案的優(yōu)劣比較,因此不必算出精確數(shù)值,得出一個(gè)估算值即可;通信代價(jià)模型。這種模型與網(wǎng)絡(luò)類型有關(guān)??珊唵伪硎緸椋篊c(X)=CO+C1*X(CO為代價(jià)系數(shù);X為數(shù)據(jù)大?。籆O為數(shù)據(jù)傳輸所需要初始代價(jià);C0與C1為常數(shù))

3 基于直接連接的查詢優(yōu)化處理方法

3.1 實(shí)現(xiàn)連接運(yùn)算的方法

3.1.1 嵌套循環(huán)

嵌套循環(huán)是一種古老的連接方式。SQL中的連接,本質(zhì)上就是將兩個(gè)數(shù)據(jù)集合依據(jù)連接條件進(jìn)行匹配操作。嵌套循環(huán)通過兩層循環(huán)手段進(jìn)行依次的匹配操作,最后返回結(jié)果集合。其操作過程簡單,與最簡單的排序檢索算法類似。執(zhí)行過程如下:Oracle CBO首先將一系列的連接關(guān)系,拆分為若干層的Nest Loop Join,確定連接順序。如a.field1=b.field1 and b.field2=c.field2,就可以組織成表A和表B先進(jìn)行嵌套循環(huán)操作,之后操作的結(jié)果集合再與數(shù)據(jù)表C進(jìn)行嵌套循環(huán)操作。所以,我們查看到的連接操作,通常都是分層次的;在確定每次嵌套循環(huán)的兩端對象之后,確定外側(cè)連接表和內(nèi)側(cè)連接表。將外側(cè)連接表作為連接驅(qū)動表,根據(jù)SQL中對驅(qū)動表的連接條件,進(jìn)行篩選。最后獲取到驅(qū)動表數(shù)據(jù)集合;從驅(qū)動表每條記錄入手,檢索內(nèi)側(cè)表記錄,獲取符合連接條件的記錄。形成連接行。

3.1.2 歸并掃描法

按照連接屬性對兩個(gè)關(guān)系進(jìn)行排序,再根據(jù)連接屬性值的順序?qū)@兩個(gè)關(guān)系進(jìn)行掃描,匹配成元祖。此方法使排序代價(jià)增加。將相同連接屬性的元祖緩沖起來以便下次使用。

3.2 連接關(guān)系的傳輸

3.2.1 全體傳送

傳送關(guān)系的字節(jié)數(shù)產(chǎn)生傳輸費(fèi)用,分為傳輸內(nèi)關(guān)系與傳輸外關(guān)系。

3.2.2 按需傳送

即將元祖按照傳輸需要一次一個(gè)進(jìn)行傳送,無需建立臨時(shí)儲存器。但是由于每次提取元祖都要進(jìn)行一次信息交換,代價(jià)很高,僅可在高速運(yùn)行的局域網(wǎng)中才能使用。

3.3 執(zhí)行場地

執(zhí)行場地包括:傳送I關(guān)系的Site(O);傳送O關(guān)系的Site(I);傳送O關(guān)系和I關(guān)系的Site(other)。

4 結(jié)語

文章以實(shí)現(xiàn)總代價(jià)最小為目的,基于直接連接的查詢方法進(jìn)行優(yōu)化處理。在實(shí)際操作中,沒有必要算出精確數(shù)據(jù),大致估算即可,選擇總代價(jià)小、節(jié)省時(shí)間、具有可行性的方案。

參考文獻(xiàn)

[1]喬百友,鄧增安,王秋杰,等.一種基于網(wǎng)格索引的空間連接查詢處理優(yōu)化算法[J].小型微型計(jì)算機(jī)系統(tǒng),2014,35(10):2243-2248.

[2]趙宇蘭,柳欣.基于連接依賴信息的分布式連接查詢優(yōu)化算法[J].現(xiàn)代電子技術(shù),2016,460(5):28-32.

[3]姚劍芳.案例教學(xué)法在SQL Server連接查詢教學(xué)中的應(yīng)用[J].吉林省教育學(xué)院學(xué)報(bào)旬刊,2015,(3):81-82.

(作者單位:北京信息職業(yè)技術(shù)學(xué)院)

猜你喜歡
方法
中醫(yī)特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數(shù)學(xué)教學(xué)改革的方法
化學(xué)反應(yīng)多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學(xué)習(xí)方法
可能是方法不對
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
无棣县| 惠东县| 南充市| 林周县| 永新县| 杭锦后旗| 南皮县| 安化县| 白城市| 育儿| 阳泉市| 奉节县| 盘山县| 如东县| 定西市| 璧山县| 图木舒克市| 岳阳市| 小金县| 庆云县| 东山县| 阿鲁科尔沁旗| 瑞昌市| 施甸县| 寿光市| 松江区| 五原县| 合阳县| 诏安县| 大名县| 百色市| 石城县| 孟村| 沁阳市| 麦盖提县| 鹿邑县| 广元市| 镇康县| 耒阳市| 阳春市| 五华县|