国语精品91自产拍在线观看二区_色偷偷五月天_天天射夜夜爽_99久久免费国产特黄_1717国产精品久久

Oracle數(shù)據(jù)庫(kù)優(yōu)化策略總結(jié)

時(shí)間:2022-06-25 02:24:22 數(shù)據(jù)庫(kù)操作系統(tǒng) 我要投稿
  • 相關(guān)推薦

Oracle數(shù)據(jù)庫(kù)優(yōu)化策略總結(jié)

  SELECT時(shí)不利用函數(shù)

Oracle數(shù)據(jù)庫(kù)優(yōu)化策略總結(jié)

  在做頻繁的查詢壟斷時(shí),盡量直接select字段名,然后利用C語(yǔ)言代碼對(duì)查詢收獲做二次加工,避免讓Oracle來(lái)做混雜的函數(shù)可能數(shù)學(xué)計(jì)算。因?yàn)镺racle出于通用性的琢磨,其函數(shù)及數(shù)學(xué)計(jì)算的速度遠(yuǎn)不及用C語(yǔ)言直接編譯成機(jī)器碼后計(jì)算來(lái)的快。

  綁定變量

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

  批量FETCH

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

  批量提交

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

  批量增刪改

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

  SQL預(yù)解析

  前面的大局部是批量壟斷,還有一種常見(jiàn)的場(chǎng)景是小事務(wù)壟斷,但頻率極其高nextplas.com。這種場(chǎng)景等閑SQL也不混雜,幾乎未曾優(yōu)化的余地了,然而由于壟斷頻繁,同樣會(huì)構(gòu)成CPU居高不下,F(xiàn)在我們的過(guò)程大局部都是下面這個(gè)利用形式:

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

  固然我們利用了綁定變量的措施,然而由于壟斷頻繁,同樣構(gòu)成許多的“soft parse”以及網(wǎng)絡(luò)通信。在內(nèi)存數(shù)據(jù)庫(kù)中,我們等閑批準(zhǔn)預(yù)解析的措施來(lái)長(zhǎng)進(jìn)效率,事實(shí)上,Oracle很早就給開(kāi)發(fā)者供給這種形式,只是開(kāi)發(fā)者嫌繁瑣沒(méi)利于用而已。將過(guò)程改成下列形式:

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

  這么就能夠管用減退Oracle的壓力,能夠?qū)栃行势鸫a長(zhǎng)進(jìn)一倍。然而這種形式波及到過(guò)程構(gòu)造的改變,定然在設(shè)計(jì)階段就這么做。否則,后期再調(diào)劑的話,危險(xiǎn)和工作量都會(huì)很大。

  SQL語(yǔ)句的一些優(yōu)化措施

  1、SQL語(yǔ)句用大寫的;因?yàn)镺racle總是先解析SQL語(yǔ)句,把小寫的字母轉(zhuǎn)換成大寫的再厲行。

  2、避免在索引列上利用NOT等閑,我們要避免在索引列上利用NOT, NOT會(huì)發(fā)生在和在索引列上利用函數(shù)雷同的波及。

  3、當(dāng)Oracle“碰到”NOT,他就會(huì)靜止利用索引轉(zhuǎn)而厲行全表掃描。

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

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

【Oracle數(shù)據(jù)庫(kù)優(yōu)化策略總結(jié)】相關(guān)文章:

淺談Oracle數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)06-28

怎么保證Oracle數(shù)據(jù)庫(kù)的安全06-28

Oracle數(shù)據(jù)庫(kù)字符處理技巧06-28

Oracle數(shù)據(jù)庫(kù)中不同恢復(fù)的特征06-28

淺談ORACLE數(shù)據(jù)庫(kù)中的備份與恢復(fù)06-28

用php連接oracle數(shù)據(jù)庫(kù)的代碼06-28

古詩(shī)教學(xué)的優(yōu)化策略07-02

教你完全卸載刪除oracle數(shù)據(jù)庫(kù)方法06-28

有關(guān)安裝Linux與Oracle數(shù)據(jù)庫(kù)步驟精講06-28

職業(yè)素養(yǎng)的Oracle數(shù)據(jù)庫(kù)課程考試改革論文07-03