• Oracle數據庫優化策略總結

    時間:2022-06-25 02:24:22 數據庫操作系統 我要投稿
    • 相關推薦

    Oracle數據庫優化策略總結

      SELECT時不利用函數

    Oracle數據庫優化策略總結

      在做頻繁的查詢壟斷時,盡量直接select字段名,然后利用C語言代碼對查詢收獲做二次加工,避免讓Oracle來做混雜的函數可能數學計算。因為Oracle出于通用性的琢磨,其函數及數學計算的速度遠不及用C語言直接編譯成機器碼后計算來的快。

      綁定變量

      這個能夠大幅度減退SQL的“hard parse”,我們大局部過程都曾經告終了變量綁定。個別未曾告終的,修正一下,也能很快看到收獲。

      批量FETCH

      萬一順次select會歸來多條(幾百、上千)登記,利用批量Fetch,例如順次fetch 1000條登記,要比一條條的fetch數據快的多,也能夠管用減退oracle的壓力。

      批量提交

      順次修正多條(例如小于10000條左右)登記,然后順次性提交,要比每條提交順次快的多。當然前提是業務邏輯批準這么做。

      批量增刪改

      萬一必需順次性修正可能剔除多條登記,能夠批準批量數組綁定的措施,這個和前面說得“綁定變量”相仿,差異是前者綁定的是一個變量,這里綁定的是一個大數組的首指針,這種措施要比逐條綁定厲行快的多。

      SQL預解析

      前面的大局部是批量壟斷,還有一種常見的場景是小事務壟斷,但頻率極其高nextplas.com。這種場景等閑SQL也不混雜,幾乎未曾優化的余地了,然而由于壟斷頻繁,同樣會構成CPU居高不下,F在我們的過程大局部都是下面這個利用形式:

      loop parse sql; bind var; execute sql; end loop;

      固然我們利用了綁定變量的措施,然而由于壟斷頻繁,同樣構成許多的“soft parse”以及網絡通信。在內存數據庫中,我們等閑批準預解析的措施來長進效率,事實上,Oracle很早就給開發者供給這種形式,只是開發者嫌繁瑣沒利于用而已。將過程改成下列形式:

      parse sql; bind var; loop execute sql; end loop;

      這么就能夠管用減退Oracle的壓力,能夠將厲行效率起碼長進一倍。然而這種形式波及到過程構造的改變,定然在設計階段就這么做。否則,后期再調劑的話,危險和工作量都會很大。

      SQL語句的一些優化措施

      1、SQL語句用大寫的;因為Oracle總是先解析SQL語句,把小寫的字母轉換成大寫的再厲行。

      2、避免在索引列上利用NOT等閑,我們要避免在索引列上利用NOT, NOT會發生在和在索引列上利用函數雷同的波及。

      3、當Oracle“碰到”NOT,他就會靜止利用索引轉而厲行全表掃描。

      4、避免在索引列上利用計算。WHERE子句中,假定索引列是函數的一局部。優化器將不利用索引而利用全表掃描。

      5、盡量少用DISTINCT壟斷,用EXISTS輪換DISTINCTvalues should never be negative。

    【Oracle數據庫優化策略總結】相關文章:

    淺談Oracle數據庫開發技術06-28

    怎么保證Oracle數據庫的安全06-28

    Oracle數據庫字符處理技巧06-28

    Oracle數據庫中不同恢復的特征06-28

    淺談ORACLE數據庫中的備份與恢復06-28

    用php連接oracle數據庫的代碼06-28

    古詩教學的優化策略07-02

    教你完全卸載刪除oracle數據庫方法06-28

    有關安裝Linux與Oracle數據庫步驟精講06-28

    職業素養的Oracle數據庫課程考試改革論文07-03

    黄频国产免费高清视频_富二代精品短视频在线_免费一级无码婬片aa_精品9E精品视频在线观看