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

?

關(guān)于數(shù)據(jù)庫(kù)管理系統(tǒng)中的查詢優(yōu)化設(shè)計(jì)研究

2016-08-04 22:08:46申超群
科技傳播 2016年13期
關(guān)鍵詞:核心技術(shù)

申超群

摘 要 數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)用非常廣泛,尤其在信息化建設(shè)中的應(yīng)用尤為突出。隨著科技的進(jìn)步,目前的數(shù)據(jù)庫(kù)發(fā)展呈現(xiàn)出智能化、網(wǎng)絡(luò)化、大型化以及標(biāo)準(zhǔn)化的特點(diǎn),這也是未來(lái)的發(fā)展趨勢(shì),數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展不僅帶動(dòng)了我國(guó)科技的發(fā)展,更加帶動(dòng)了我國(guó)經(jīng)濟(jì)的發(fā)展。國(guó)外在數(shù)據(jù)庫(kù)的研究方面著手較早,研究的時(shí)間較長(zhǎng),所以在技術(shù)方面遠(yuǎn)比我們國(guó)內(nèi)要先進(jìn)。數(shù)據(jù)庫(kù)管理系統(tǒng)國(guó)內(nèi)也有研究,但是相比于國(guó)外依然存在一定的差距。本文將國(guó)產(chǎn)數(shù)據(jù)庫(kù)管理系統(tǒng)OSCAR作為研究對(duì)象,并對(duì)查詢優(yōu)化一些關(guān)鍵技術(shù)進(jìn)行分析和研究,最后提出具體實(shí)現(xiàn)方案,旨在為我國(guó)相關(guān)領(lǐng)域提供參考和支持。

關(guān)鍵詞 數(shù)據(jù)庫(kù)管理系統(tǒng);查詢及優(yōu)化;選擇性因子;核心技術(shù)

中圖分類號(hào) TP3 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 1674-6708(2016)166-0092-02

數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)用非常廣泛,尤其在信息化建設(shè)中的應(yīng)用尤為突出。數(shù)據(jù)庫(kù)系統(tǒng)經(jīng)過長(zhǎng)期的發(fā)展,在商業(yè)領(lǐng)域中的應(yīng)用非常廣泛。就我國(guó)而言,數(shù)據(jù)庫(kù)管理系統(tǒng)一直受到國(guó)家宏觀政策的扶持,如我國(guó)在863計(jì)劃當(dāng)中,根據(jù)實(shí)際情況設(shè)置了“數(shù)據(jù)庫(kù)管理系統(tǒng)及其應(yīng)用”。隨著社會(huì)經(jīng)濟(jì)不斷發(fā)展,各領(lǐng)域?qū)夹g(shù)提出了更高要求。因此加強(qiáng)對(duì)該問題的研究具有非常重要的現(xiàn)實(shí)意義,能夠幫助相關(guān)主體了解更多關(guān)鍵技術(shù),并掌握其實(shí)現(xiàn)方法。

1 查詢優(yōu)化關(guān)鍵技術(shù)

1.1 查詢優(yōu)化的一般準(zhǔn)則

查詢的效率在一定程度上可以通過查詢優(yōu)化的方法得到改善,然而無(wú)論是從策略上考慮,還是從改善程度方面考慮,這都不是最好的辦法。查詢優(yōu)化一般準(zhǔn)則主要有5個(gè)部分:準(zhǔn)則一,選擇運(yùn)算盡可能優(yōu)先的進(jìn)行。這一準(zhǔn)則能夠在一定程度上節(jié)約時(shí)間成本。準(zhǔn)則二,針對(duì)實(shí)踐執(zhí)行及連接等進(jìn)行預(yù)處理,一般來(lái)說(shuō),在實(shí)踐中,預(yù)處理可以采取兩種方式,分排序合并及索引兩種連接。準(zhǔn)則三,將選擇運(yùn)算及投影運(yùn)算同時(shí)進(jìn)行。這一原則的遵循能夠減少對(duì)關(guān)系的重復(fù)掃描。準(zhǔn)則四,提取出公共子表達(dá)式。如果從外部讀入子表達(dá)式速度較快,可以將其作為公共表達(dá)式,以便提高表達(dá)有效性。準(zhǔn)則五,建立在笛卡爾積同基礎(chǔ)之上,重構(gòu)連接運(yùn)算。在具體應(yīng)用過程中,借助上述準(zhǔn)則,能夠有效節(jié)省更多時(shí)間,毋庸置疑效率也就快了。

1.2 查詢優(yōu)化規(guī)則系統(tǒng)

針對(duì)研究對(duì)象來(lái)說(shuō),其自身具有較為廣泛的應(yīng)用范圍。綜合來(lái)看,該系統(tǒng)Client/Server的結(jié)構(gòu)為基礎(chǔ)運(yùn)行。整個(gè)體系結(jié)構(gòu)由內(nèi)存、邏輯及物理等部分構(gòu)成。該數(shù)據(jù)庫(kù)管理系統(tǒng)除了應(yīng)用廣泛之外在規(guī)則系統(tǒng)方面也相當(dāng)強(qiáng)大。規(guī)則系統(tǒng)的使用,不僅能夠?qū)崿F(xiàn)對(duì)不明確試圖的觀察,且能夠?qū)υ噲D進(jìn)行相應(yīng)的處理。比如重寫系統(tǒng),該系統(tǒng)存在于優(yōu)化器和分解器之間的,系統(tǒng)傳回的用戶查詢信息主要就是通過該系統(tǒng)來(lái)完成分析的。重寫規(guī)則后,系統(tǒng)能夠?qū)骰氐挠脩粼趦?nèi)部進(jìn)行相應(yīng)的操作,滿足用戶需求。

1.3 查詢優(yōu)化預(yù)處理

一般在真正進(jìn)行優(yōu)化處理之前還有一項(xiàng)操作是需要完成的,那就是查詢優(yōu)化處理,這一處理放在這里的主要目的是讓查詢規(guī)劃的效果更高。具體的查詢優(yōu)化處理主要包括3個(gè)方面,對(duì)集合操作的預(yù)處理、對(duì)條件表達(dá)式的預(yù)處理和對(duì)目標(biāo)列的預(yù)處理。在進(jìn)行目標(biāo)列的預(yù)處理之前第一步要做的是將目標(biāo)列補(bǔ)充完全,同時(shí)還應(yīng)該保證查詢樹的順序同表定義中的順序保持一致性。在進(jìn)行條件的預(yù)處理之前應(yīng)該將條件表達(dá)式轉(zhuǎn)變成析取范式或者合取范式,也可以將條件表達(dá)式NOT下推或者是想辦法將NOT去除。在進(jìn)行集合的預(yù)處理還有很多分類,如Intersect、Union、Except等。

1.4 查詢優(yōu)化的邏輯優(yōu)化

邏輯優(yōu)化其本質(zhì)是一個(gè)物理層次的優(yōu)化過程,主要是通過索引來(lái)進(jìn)行的,最后,在邏輯優(yōu)化基礎(chǔ)上,完成查詢計(jì)算全過程。邏輯優(yōu)化體現(xiàn)在兩個(gè)方面,一是“AND”;二是“OR”優(yōu)化過程。

“AND”的優(yōu)化過程。在進(jìn)行“AND”的優(yōu)化之前首先要完成的是將含有“AND”的邏輯表達(dá)式找出來(lái),第二步要做的是通過查詢,以此來(lái)判斷我們能夠使用的子查詢表達(dá)式是否真實(shí)存在。如果沒有,可以應(yīng)用掃描模式完成邏輯運(yùn)算。如果有,可以將索引的子查詢表達(dá)式應(yīng)用,將查詢表達(dá)式計(jì)算出來(lái),并充分利用運(yùn)算結(jié)果,計(jì)算出剩余查詢表達(dá)式。最終實(shí)現(xiàn)對(duì)整個(gè)邏輯的優(yōu)化目標(biāo)。

相比較來(lái)看,“OR”較“AND”比較來(lái)看,二者存在較強(qiáng)的一致性。詳細(xì)來(lái)說(shuō),兩種優(yōu)化過程必須要做的都是需要在子查詢表達(dá)式中找出是否存在可以使用的索引。若沒有,而有多個(gè)子查詢表達(dá)式的情況下,則為了得到中間結(jié)果,自查詢表達(dá)式運(yùn)算順序需要經(jīng)過相應(yīng)的調(diào)整,并對(duì)中間結(jié)果進(jìn)行相應(yīng)的調(diào)整,最終才能夠獲取相應(yīng)的結(jié)果。若有,那么中間計(jì)算結(jié)果可以通過索引的運(yùn)用來(lái)獲取。

2 實(shí)現(xiàn)數(shù)據(jù)庫(kù)管理系統(tǒng)查詢優(yōu)化的算法

在數(shù)據(jù)庫(kù)管理系統(tǒng)查詢優(yōu)化的實(shí)現(xiàn)過程中最基礎(chǔ)、最關(guān)鍵的就是算法。在實(shí)踐應(yīng)用過程中,使用的算法不同,那么對(duì)應(yīng)的查詢優(yōu)化結(jié)果也會(huì)有所差別,具有較強(qiáng)的針對(duì)性。本文主要從兩個(gè)方面進(jìn)行介紹。

2.1 存取方法和存儲(chǔ)路徑分析

檢索數(shù)據(jù)的選擇和執(zhí)行計(jì)劃的構(gòu)造,建立在查詢優(yōu)化設(shè)備基礎(chǔ)之上。針對(duì)OSCAR系統(tǒng)來(lái)安,其一般有順序掃描、索引掃描以及利用TID進(jìn)行存取3種類型。

其中針對(duì)順序掃描來(lái)看,系統(tǒng)在運(yùn)行中,會(huì)先對(duì)信息表中涉及的所有元組進(jìn)行相應(yīng)的處理,然后對(duì)每個(gè)元組進(jìn)行檢查,查看是否滿足WHERE條件。不僅如此,還需要對(duì)每個(gè)信息表進(jìn)行系統(tǒng)化掃描處理,基于此,全面掃描耗時(shí)相對(duì)較長(zhǎng)。因此,為了能夠提高掃描有效性,我們可以采取多塊讀取方法,更快地獲取相應(yīng)的結(jié)果。而針對(duì)索引掃描而言,該類型掃描更多的是為了檢索有效性,采取對(duì)多列、單列索引的構(gòu)建。在語(yǔ)句訪問到索引具有唯一性時(shí),系統(tǒng)可以直接將非表中的索引列數(shù)值讀取出來(lái)。根據(jù)掃描方式具有的差異性來(lái)看,在執(zhí)行中,可以采取唯一、范圍兩類。

利用TID進(jìn)行存取。在進(jìn)行單個(gè)記錄的查詢時(shí),這種掃描方式是最方便和快捷的,第一步要做的是對(duì)數(shù)據(jù)庫(kù)中的每一個(gè)元組規(guī)定唯一的TID,再利用這個(gè)TID檢索表。其中每一個(gè)元組的TID的主要信息分為數(shù)據(jù)文件和元祖存在于數(shù)據(jù)庫(kù)中的具體位置兩方面。

2.2 SYSTEM-R代價(jià)估算算法分析

SYSTEM-R是一種代價(jià)估算算法,CPU和I/O的開銷是這種算法考慮的重點(diǎn),Cost=P+W*T公式是這種算法的數(shù)學(xué)表達(dá)式。其中W表示權(quán)重,P代表I/O開銷,而T 代表的是CPU的開銷。這個(gè)式子可以解釋為在一次的查詢中CPU和I/O的開銷的重視度問題。

P和W的數(shù)值在每一次的查詢優(yōu)化時(shí)的索引中都是不一樣的,其原因主要是選擇因子的存在。當(dāng)然我們?cè)谒惴⊿YSTEM-R代價(jià)估算中,可以將其分為三種情況:其一,當(dāng)r.field=value時(shí),而選擇因子為I/(定義在r.field上的索引表中的T);其二,當(dāng)r.field>value時(shí),選擇因字固化為(r.field的最大值-value)/(r.field的最大值r.field的最小值);其三,當(dāng)r.field

3 數(shù)據(jù)庫(kù)管理系統(tǒng)中查詢優(yōu)化的實(shí)現(xiàn)

3.1 性能設(shè)計(jì)

查詢優(yōu)化是一項(xiàng)綜合性工作,很多語(yǔ)句之間的差異僅僅是常數(shù)變化,而查詢語(yǔ)句卻是一致的。因此出于提高數(shù)據(jù)庫(kù)查詢有效性的考慮,可以將常數(shù)指定到某一范圍當(dāng)中,針對(duì)具有同一查詢語(yǔ)句的語(yǔ)句進(jìn)行常數(shù)更換。而針對(duì)同一模式的語(yǔ)句,在實(shí)踐中,僅需要采取一次語(yǔ)法分析,便能夠節(jié)省很多實(shí)踐。在查詢優(yōu)化過程中,第一步要做的是緩沖查詢語(yǔ)句。其中不僅要獲取查詢對(duì)應(yīng)的計(jì)劃,且需要將新的查詢計(jì)劃保持好,以此來(lái)提高系統(tǒng)運(yùn)行有效性。

3.2 體系結(jié)構(gòu)設(shè)計(jì)

數(shù)據(jù)庫(kù)體系的機(jī)構(gòu)主要有3個(gè)環(huán)節(jié),第一環(huán)節(jié)包括網(wǎng)絡(luò)通信庫(kù)、查詢計(jì)劃優(yōu)化模塊和DBA命令處理模塊3個(gè)部分;第二環(huán)節(jié)是SPC查詢緩沖模塊;第三環(huán)節(jié)是查詢執(zhí)行模塊。每個(gè)環(huán)節(jié)中的模塊進(jìn)行信息交換都是通過參數(shù)來(lái)完成的,例如在SPC查詢緩沖模塊發(fā)出查詢計(jì)劃后,查詢執(zhí)行模塊將會(huì)進(jìn)入到運(yùn)行模式當(dāng)中。

3.3 關(guān)鍵算法

為了能夠進(jìn)一步提升查詢有效性,實(shí)現(xiàn)對(duì)查詢結(jié)果的調(diào)整和優(yōu)化。本文引入hash函數(shù),保持語(yǔ)法數(shù)、查詢語(yǔ)句。該函數(shù)更具靈活性,能夠直接與對(duì)應(yīng)的表保持一致。通過對(duì)實(shí)踐結(jié)果觀察能夠發(fā)現(xiàn),利用該字符串,不僅能夠促使該函數(shù)效能達(dá)到最佳狀態(tài),且查詢系統(tǒng)整體效率也得到了優(yōu)化。因此,可以使用hash函數(shù),以此來(lái)提高查詢有效性,為用戶提供更加優(yōu)質(zhì)的服務(wù)。

4 結(jié)論

在業(yè)務(wù)需求顯示出越來(lái)越強(qiáng)勁的勢(shì)頭下,數(shù)據(jù)庫(kù)管理系統(tǒng)在未來(lái)的發(fā)展過程中必須要有更快的運(yùn)行速度和更為強(qiáng)大的功能。雖然我國(guó)自主研發(fā)的數(shù)據(jù)庫(kù)管理系統(tǒng)與國(guó)外的差距依然很大,但是我們應(yīng)該從核心技術(shù)出發(fā),深入研究,盡可能縮小與國(guó)際一流水平之間的差距,甚至趕超國(guó)際一流水平,逐漸使數(shù)據(jù)庫(kù)管理系統(tǒng)世界化、全球化。

參考文獻(xiàn)

[1]張杰敏.有關(guān)高級(jí)數(shù)據(jù)庫(kù)系統(tǒng)中的并發(fā)控制問題[J].華北工學(xué)院學(xué)報(bào),2012(3):204-206.

[2]趙艷平.數(shù)據(jù)庫(kù)管理系統(tǒng)的組成與發(fā)展[J].科技信息,2011(7):73.

猜你喜歡
核心技術(shù)
燒結(jié)礦低硅均質(zhì)慢燒核心技術(shù)研發(fā)與應(yīng)用
習(xí)近平:堅(jiān)決打贏關(guān)鍵核心技術(shù)攻堅(jiān)戰(zhàn)
掌握核心技術(shù) 贏在精益制造
造紙信息(2019年7期)2019-09-10 11:33:18
穿戴式心電:發(fā)展歷程、核心技術(shù)與未來(lái)挑戰(zhàn)
提升變電站一次檢修核心技術(shù)的研究
影響規(guī)模化豬場(chǎng)收益的核心技術(shù)探討
顛覆式創(chuàng)新: 集汽車級(jí)十項(xiàng)核心技術(shù)的ROBYF1
汽車零部件(2017年1期)2017-02-22 07:52:17
化工行業(yè)電氣儀表使用安裝核心技術(shù)問題及研究
教育大數(shù)據(jù)的核心技術(shù)、應(yīng)用現(xiàn)狀與發(fā)展趨勢(shì)
多媒體教學(xué)的核心技術(shù)之一:有了一款投影,可以讓多媒體交互技術(shù)隨時(shí)隨地
驻马店市| 西和县| 怀安县| 韩城市| 司法| 石景山区| 瓦房店市| 岳阳市| 甘肃省| 乌恰县| 宽城| 新晃| 镇宁| 德钦县| 宝丰县| 屏南县| 增城市| 双柏县| 新密市| 徐州市| 大连市| 黔西| 江都市| 龙陵县| 铁力市| 绥阳县| 昌平区| 确山县| 同心县| 浦东新区| 德昌县| 托克逊县| 明星| 台北县| 抚宁县| 朝阳区| 巴马| 龙门县| 河西区| 乐平市| 岐山县|