自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一些很實(shí)用的Oracle數(shù)據(jù)庫優(yōu)化策略總結(jié)篇

數(shù)據(jù)庫 Oracle
本文介紹了一些很實(shí)用但卻不是很常見的Oracle數(shù)據(jù)庫的優(yōu)化策略,包括批量FETCH、SQL預(yù)解析等,希望能對(duì)讀者有所幫助。

為了提高查詢效率,我們常常做一些優(yōu)化策略。本文主要介紹一些Oracle數(shù)據(jù)庫的一些不常見卻是非常有用的優(yōu)化策略,希望能對(duì)您有所幫助。

SQL語句優(yōu)化

這個(gè)好辦,抓到挪借CPU高的SQL語句,依據(jù)索引、SQL技巧等修改一下,行之管用。

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

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

綁定變量

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

批量FETCH

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

批量提交

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

批量增刪改

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

SQL預(yù)解析

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

 

  1. loop  
  2.  
  3. parse sql;  
  4.  
  5. bind var;  
  6.  
  7. execute sql;  
  8.  
  9. end loop; 

 

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

 

  1. parse sql;  
  2.  
  3. bind var;  
  4.  
  5. loop  
  6.  
  7. execute sql;  
  8.  
  9. end loop; 

 

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

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

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

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

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

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

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

以上就是Oracle數(shù)據(jù)庫的優(yōu)化策略的全部,如果您想了解更多關(guān)于Oracle數(shù)據(jù)庫的知識(shí),可以看一下這里的文章:http://database.51cto.com/oracle/,相信會(huì)對(duì)您有所收獲的!

【編輯推薦】

  1. 在SQL觸發(fā)器或存儲(chǔ)過程中獲取登錄用戶信息
  2. 如何顯示與隱藏Sharepoint列表中的指定字段
  3. OLEDB連接訪問Excel2007錯(cuò)誤的三種解決方案
  4. 局域網(wǎng)所有機(jī)器都能連接MySQL數(shù)據(jù)庫的設(shè)置命令
  5. 讓SQL Server Management Studio直接連接數(shù)據(jù)庫
責(zé)任編輯:趙鵬 來源: 網(wǎng)易博客
相關(guān)推薦

2011-08-01 13:59:22

Oracle數(shù)據(jù)庫命名空間

2011-07-22 09:09:52

Oracle數(shù)據(jù)庫SQL效率

2011-07-29 15:58:53

SGAOracle

2017-04-19 11:15:01

Oracle數(shù)據(jù)庫備份恢復(fù)

2011-03-10 13:19:47

Oracle數(shù)據(jù)庫

2010-11-15 16:13:24

Oracle數(shù)據(jù)庫性能

2010-04-28 10:45:24

Oracle10g

2011-08-25 14:50:42

SQL Server數(shù)常用操作

2009-11-26 10:32:57

PHP代碼優(yōu)化

2009-06-30 14:23:02

ORACLE數(shù)據(jù)庫JSP

2010-08-12 09:41:06

DB2數(shù)據(jù)庫恢復(fù)

2020-08-07 08:04:03

數(shù)據(jù)庫MySQL技術(shù)

2011-07-29 15:31:52

Oracle數(shù)據(jù)庫ORDER BY

2010-04-20 10:49:45

Oracle數(shù)據(jù)庫

2010-05-04 15:59:05

Oracle字符集

2013-07-02 10:18:20

編程編程策略

2013-07-02 09:43:02

編程策略

2009-07-01 16:20:34

Flex垃圾回收性能優(yōu)化

2021-02-24 15:16:45

微服務(wù)架構(gòu)數(shù)據(jù)

2021-09-15 09:51:36

數(shù)據(jù)庫架構(gòu)技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)