• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      方芳 謝慧

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

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

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

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

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

      1.1 分析

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

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

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

      ③實現(xiàn)對SQL語句表達方式的轉變。將較為復雜的SQL表達式轉換成相對應的對于基表的SQL查詢語句,并寫出SQL語句標準。

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

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

      1.2 執(zhí)行

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

      1.3 返回結果

      對查詢語句需要返回結果的語句,看返回的結果集是不是需要按照實際應用來進行排序,如果對結果有排序需求,則在排序后進行相關結果輸出。

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

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

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

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

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

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

      3.2 表連接順序對SQL語言優(yōu)化造成的影響

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

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

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

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

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

      4.1 充分合理地利用牽引

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

      4.2 有意識地避免全表掃描

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

      4.3 避免相關子查詢

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

      5 結論

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

      參考文獻:

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

      猜你喜歡
      優(yōu)化
      超限高層建筑結構設計與優(yōu)化思考
      房地產導刊(2022年5期)2022-06-01 06:20:14
      PEMFC流道的多目標優(yōu)化
      能源工程(2022年1期)2022-03-29 01:06:28
      民用建筑防煙排煙設計優(yōu)化探討
      關于優(yōu)化消防安全告知承諾的一些思考
      一道優(yōu)化題的幾何解法
      由“形”啟“數(shù)”優(yōu)化運算——以2021年解析幾何高考題為例
      圍繞“地、業(yè)、人”優(yōu)化產業(yè)扶貧
      事業(yè)單位中固定資產會計處理的優(yōu)化
      消費導刊(2018年8期)2018-05-25 13:20:08
      4K HDR性能大幅度優(yōu)化 JVC DLA-X8 18 BC
      幾種常見的負載均衡算法的優(yōu)化
      電子制作(2017年20期)2017-04-26 06:57:45
      宁德市| 江达县| 滁州市| 大城县| 兴化市| 临沧市| 宁德市| 望都县| 巴南区| 龙泉市| 永寿县| 东阳市| 玉溪市| 泰顺县| 六枝特区| 荥经县| 二手房| 江都市| 邵阳市| 屏东县| 彭州市| 木里| 肥乡县| 包头市| 含山县| 南乐县| 西乌珠穆沁旗| 乌鲁木齐市| 桐城市| 霍邱县| 白银市| 泾源县| 房产| 玉门市| 华宁县| 新营市| 余庆县| 嘉荫县| 克拉玛依市| 乃东县| 前郭尔|