亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        關(guān)于Oralce數(shù)據(jù)庫的SQL查詢語句優(yōu)化探究

        2018-09-10 12:59:01方芳謝慧
        河南科技 2018年4期
        關(guān)鍵詞:優(yōu)化

        方芳 謝慧

        摘 要:Oralce數(shù)據(jù)庫具有明顯超越普通數(shù)據(jù)庫的性能,不僅提升了存儲空間,也擴(kuò)大了使用范圍。在一些大型數(shù)據(jù)庫研究中,優(yōu)質(zhì)的SQL查詢語句和劣質(zhì)的SQL查詢語句之間的速度差別很有可能達(dá)到上百倍之多。為了更好地縮短大數(shù)據(jù)量的信息查詢和處理時間,提升數(shù)據(jù)庫應(yīng)用系統(tǒng)的工作效率,實(shí)現(xiàn)對Oralce數(shù)據(jù)庫中SQL查詢語句的優(yōu)化具有非常重要的意義。

        關(guān)鍵詞:Oralce數(shù)據(jù)庫;SQL查詢語句;優(yōu)化

        中圖分類號:TP311.13 文獻(xiàn)標(biāo)識碼:A 文章編號:1003-5168(2018)04-0025-02

        Research on Optimization of SQL Query in Oralce Database

        FANG Fang XIE Hui

        (Xiangnan University,Chenzhou Hunan 423000)

        Abstract: The Oralce database has the performance that obviously surpasses the common database, not only improves the storage space but also expands the scope of use. In the study of some large databases, speed differences between high-quality SQL queries and low-quality SQL queries are likely to be as much as hundreds of times. In order to achieve a better shorten the time of information query and processing of large amount of data and improve the efficiency of database application system, it is very important to optimize the SQL query in Oralce database.

        Keywords: Oralce database;SQL query;optimization

        Oralce數(shù)據(jù)庫是目前被應(yīng)用最為廣泛的數(shù)據(jù)庫技術(shù)。SQL查詢語句的優(yōu)化就是將性能較低的SQL查詢語句轉(zhuǎn)換成具有相同目的的性能較高的SQL查詢語句。SQL查詢語句優(yōu)化對提升數(shù)據(jù)庫性能和工作效率具有非常重要的意義。眾所周知,Oralce數(shù)據(jù)庫性能的高低是由SQL查詢語句的執(zhí)行效率決定的。數(shù)據(jù)庫的查詢功能直接和整個系統(tǒng)的運(yùn)行速度相關(guān)聯(lián),因此,實(shí)現(xiàn)對Oralce數(shù)據(jù)庫中SQL查詢語句的優(yōu)化是提升數(shù)據(jù)庫性能的有效方式。寫出高質(zhì)量的SQL語句是提升系統(tǒng)可用性的有效方式,通過優(yōu)化SQL查詢語句,可以實(shí)現(xiàn)整個系統(tǒng)性能的顯著提升。

        1 Oralce數(shù)據(jù)庫中SQL語句處理過程分析

        通常情況下,數(shù)據(jù)庫實(shí)現(xiàn)對SQL語句處理要經(jīng)過3個基本過程,即分析、執(zhí)行和返回結(jié)果。

        1.1 分析

        分析是實(shí)現(xiàn)對SQL語句進(jìn)行處理的第一步,主要過程包括以下幾方面。

        ①對SQL語言進(jìn)行語法分析。Oralce數(shù)據(jù)庫的常用分析方法是自下而上的,其中包含對語法的檢驗(yàn)和對命名規(guī)范性的檢驗(yàn)。語法分析是實(shí)現(xiàn)對SQL語句處理過程中最為耗時且付出代價最高的步驟。要實(shí)現(xiàn)Oralce數(shù)據(jù)庫查詢效力的提升,可以通過綁定變量和存儲過程來實(shí)現(xiàn)。

        ②對SQL語句進(jìn)行語義分析。在這個環(huán)節(jié),數(shù)據(jù)庫對SQL語句格式的正確性及對象的存在性進(jìn)行分析。

        ③實(shí)現(xiàn)對SQL語句表達(dá)方式的轉(zhuǎn)變。將較為復(fù)雜的SQL表達(dá)式轉(zhuǎn)換成相對應(yīng)的對于基表的SQL查詢語句,并寫出SQL語句標(biāo)準(zhǔn)。

        ④選擇優(yōu)化器和優(yōu)化方式。

        ⑤選擇連接方式及連接順序。通常情況下,在Oracle SQL查詢語句中最好的方式就是手工指定表的連接順序。

        1.2 執(zhí)行

        在使用更新和刪除的SQL語句時,需要對數(shù)據(jù)列進(jìn)行鎖定,這樣做的主要目的是防止其他用戶對其進(jìn)行修改。Oralce會先在數(shù)據(jù)庫緩沖中尋找是否存在所需要的數(shù)據(jù)塊,假如存在這樣的數(shù)據(jù)塊,那么就可以直接進(jìn)行修改操作,否則,數(shù)據(jù)會被從物理文件中讀取到數(shù)據(jù)庫緩沖區(qū)中。

        1.3 返回結(jié)果

        對查詢語句需要返回結(jié)果的語句,看返回的結(jié)果集是不是需要按照實(shí)際應(yīng)用來進(jìn)行排序,如果對結(jié)果有排序需求,則在排序后進(jìn)行相關(guān)結(jié)果輸出。

        2 Oralce數(shù)據(jù)庫中SQL查詢語句優(yōu)化的原理

        SQL是一種集數(shù)據(jù)定義和數(shù)據(jù)操控于一體的數(shù)據(jù)庫語言。SQL不僅可以作為一種獨(dú)立使用的語言應(yīng)用于終端上進(jìn)行交互使用,同時還可以作為程序設(shè)計中的子語言來使用。用戶能通過SQL語言在數(shù)據(jù)庫中提取出自己需要的信息。

        SQL語句優(yōu)化能將原有的SQL語句轉(zhuǎn)換成語義相同且處理效率更高的SQL語句。在系統(tǒng)中,SQL語言的優(yōu)劣至關(guān)重要,用戶提交的SQL語句是系統(tǒng)實(shí)現(xiàn)優(yōu)化的基礎(chǔ)。SQL語句優(yōu)化原理就是盡可能地減少查詢中參與加工的數(shù)據(jù)量,以此來達(dá)到優(yōu)化空間和時間的目的。通過查詢找出與給定關(guān)系代數(shù)表達(dá)式等價、但執(zhí)行效率更高的SQL語句表達(dá)。通常情況下,查詢往往有許多實(shí)現(xiàn)方法,SQL語句實(shí)現(xiàn)優(yōu)化的關(guān)鍵就是要尋找一個等價并且高效、占用資源更少的表達(dá)式。

        3 影響SQL查詢語句優(yōu)化的因素

        3.1 表訪問方式對SQL語言優(yōu)化造成的影響

        索引掃描、全表掃描和Rowid訪問是表的訪問方式。在這3種訪問方式中,通過Rowid方式對表進(jìn)行訪問是速度最快的。Rowid是直接根據(jù)記錄在數(shù)據(jù)磁盤中的位置來獲取記錄信息的,這就使得該掃描方式具有一定的速度優(yōu)勢。索引訪問能獲取到該行記錄的Rowid值再查找進(jìn)行判斷。全表掃描通過讀取全部數(shù)據(jù)來實(shí)現(xiàn)查找,這種方式增加了系統(tǒng)的消耗[1]。

        3.2 表連接順序?qū)QL語言優(yōu)化造成的影響

        在Oralce數(shù)據(jù)庫中,有兩個或者兩個以上的表進(jìn)行連接時,Oralce會自主選擇一種較為合適的順序進(jìn)行連接。數(shù)據(jù)庫中無論有多少個表需要連接,每次只能有兩個表進(jìn)行連接,一張表完成連接之后,再同下一張表進(jìn)行連接,直至完成所有的連接。

        3.3 表連接方式對SQL語言優(yōu)化造成的影響

        表的連接方式有3種,即嵌套連接、合并連接及哈希連接。嵌套連接被廣泛應(yīng)用于任何形式的連接。合并連接被廣泛應(yīng)用于不等價連接,且在沒有索引時效率比嵌套連接高。哈希連接則是通過將驅(qū)動表中的連接列建立一個哈希函數(shù),并對鏈接表中滿足條件的每一行計算哈希值并實(shí)現(xiàn)匹配。哈希連接常應(yīng)用于等價連接。

        4 Oralce數(shù)據(jù)庫中實(shí)現(xiàn)SQL查詢語句優(yōu)化的策略

        在堅(jiān)持SQL查詢語句優(yōu)化原則的基礎(chǔ)上積極探究實(shí)現(xiàn)SQL語言優(yōu)化的具體策略,進(jìn)而實(shí)現(xiàn)SQL語句的優(yōu)化。主要可以從以下幾方面入手。

        4.1 充分合理地利用牽引

        在Oralce數(shù)據(jù)庫中,比較重要的查詢方法就是索引查詢。通過應(yīng)用索引查詢,能顯著提升查詢效果。但是,索引查詢在應(yīng)用過程中需要做到與實(shí)際應(yīng)用系統(tǒng)查詢需求相結(jié)合。因此,要特別注意索引使用過程中的一些技巧和經(jīng)驗(yàn),比如:對于大批量數(shù)據(jù)記錄的插入及刪除,首先刪除索引,再進(jìn)行數(shù)據(jù)操作,等操作完成之后再重建必要的索引。

        4.2 有意識地避免全表掃描

        一般情況下,處理查詢或執(zhí)行SELECT語句時,要執(zhí)行全表掃描。同時,在執(zhí)行一些更新或者是刪除操作時,也可能會出現(xiàn)全表掃描。當(dāng)出現(xiàn)在WHERE子句的列沒有相應(yīng)的索引時,會發(fā)生全表掃描。全表掃描就像從頭到尾讀一本書去找一個關(guān)鍵字一樣??梢愿鶕?jù)SQL,語句的WHERE子句中的列建立索引,從而避免掃描整個表。

        4.3 避免相關(guān)子查詢

        假如子查詢對外層相關(guān)查詢的值進(jìn)行了引用,就構(gòu)成了相關(guān)子查詢。具體到執(zhí)行過程中,就不能和不相關(guān)子查詢的方法那樣:先單獨(dú)處理子查詢,然后再處理外層查詢,而是需要子查詢和外層查詢交叉同時進(jìn)行。在查詢過程中,查詢嵌套層次越多,效率越低,要有效避免相關(guān)子查詢。

        5 結(jié)論

        SQL語言是一種比較靈活的語言,可以使用不同的語句實(shí)現(xiàn)相同的功能,但在Oralce數(shù)據(jù)庫中,語句的執(zhí)行效率會表現(xiàn)出較大區(qū)別。因此,必須要注重SQL查詢語句在Oralce數(shù)據(jù)庫中的優(yōu)化,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)庫性能的提升。在SQL查詢語句優(yōu)化的過程中,要遵循SQL查詢語句優(yōu)化的一般原則,通過切實(shí)可行的策略來實(shí)現(xiàn)SQL查詢語句的優(yōu)化,從而在保障Oralce數(shù)據(jù)庫應(yīng)用效率的同時,實(shí)現(xiàn)Oralce數(shù)據(jù)庫性能的不斷提升。

        參考文獻(xiàn):

        [1]李偉.Oracle 11g SQL和PL/SQL編程指南[M].北京:清華大學(xué)出版社,2014.

        猜你喜歡
        優(yōu)化
        超限高層建筑結(jié)構(gòu)設(shè)計與優(yōu)化思考
        PEMFC流道的多目標(biāo)優(yōu)化
        能源工程(2022年1期)2022-03-29 01:06:28
        民用建筑防煙排煙設(shè)計優(yōu)化探討
        關(guān)于優(yōu)化消防安全告知承諾的一些思考
        一道優(yōu)化題的幾何解法
        由“形”啟“數(shù)”優(yōu)化運(yùn)算——以2021年解析幾何高考題為例
        圍繞“地、業(yè)、人”優(yōu)化產(chǎn)業(yè)扶貧
        事業(yè)單位中固定資產(chǎn)會計處理的優(yōu)化
        4K HDR性能大幅度優(yōu)化 JVC DLA-X8 18 BC
        幾種常見的負(fù)載均衡算法的優(yōu)化
        電子制作(2017年20期)2017-04-26 06:57:45
        午夜三级a三级三点| 国产区一区二区三区性色| 国语对白福利在线观看| 丰满人妻一区二区三区视频53| 免费一级特黄欧美大片久久网| 无码伊人久久大蕉中文无码| 高清少妇二区三区视频在线观看| 国产裸体美女永久免费无遮挡| 国产专区国产av| 最新国产成人综合在线观看| 三级网站亚洲三级一区| 丰满人妻被两个按摩师| 色一情一乱一伦一区二区三区| 日韩在线视精品在亚洲| 9l国产自产一区二区三区| 亚洲av午夜精品无码专区| 国产精品免费大片| 日韩美女高潮流白浆视频在线观看| 国产洗浴会所三级av| 久久人妻av一区二区软件| 欧美性xxxx狂欢老少配 | 欧洲精品免费一区二区三区| 日韩AV有码无码一区二区三区| 丰满人妻被猛烈进入中文字幕护士| 色狠狠一区二区三区中文| 67194熟妇在线永久免费观看| 在线看片国产免费不卡| 午夜视频一区二区三区在线观看| 男人和女人做爽爽视频| 天天爱天天做天天爽| 久久伊人精品只有这里有| 熟妇人妻无乱码中文字幕av| 国产亚洲精品aaaa片小说| 中文字幕久久久人妻无码| 在线亚洲日本一区二区| 免费无码av一区二区| 色老头一区二区三区| 亚洲不卡毛片在线观看| 日本顶级metart裸体全部| 欧美国产成人精品一区二区三区| 日本岛国大片不卡人妻|