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

Oracle SQL的優(yōu)化的規(guī)則描述

數(shù)據(jù)庫(kù) Oracle
以下的文章主要闡述的是Oracle SQL的優(yōu)化規(guī)則,如果你對(duì)其很感興趣的話,你不妨瀏覽下面的文章,希望你能從中獲得自己想要的東西。

Oracle SQL的優(yōu)化的規(guī)則中我們***少用IN操作符,因?yàn)橐话愕腎N操作符都是可以用EXISTS來(lái)代替,我們都知道用IN寫出的SQL的話,它的優(yōu)點(diǎn)就是比較容易寫及清晰易懂,但是用IN的SQL性能總是比較低的,從ORACLE執(zhí)行的步驟來(lái)分析用IN的SQL與不用IN的SQL有以下區(qū)別:

ORACLE 試圖將其轉(zhuǎn)換成多個(gè)表的連接,如果轉(zhuǎn)換不成功則先執(zhí)行IN里面的子查詢,再查詢外層的表記錄,如果轉(zhuǎn)換成功則直接采用多個(gè)表的連接方式查詢。由此可見用 IN的SQL至少多了一個(gè)轉(zhuǎn)換的過(guò)程。一般的Oracle SQL都可以轉(zhuǎn)換成功,但對(duì)于含有分組統(tǒng)計(jì)等方面的SQL就不能轉(zhuǎn)換了。

Oracle在執(zhí)行IN子查詢時(shí),首先執(zhí)行子查詢,將查詢結(jié)果放入臨時(shí)表再執(zhí)行主查詢。而EXIST則是首先檢查主查詢,然后運(yùn)行子查詢直到找到***個(gè)匹配項(xiàng)。NOT EXISTS比NOT IN效率稍高。但具體在選擇IN或EXIST操作時(shí),要根據(jù)主子表數(shù)據(jù)量大小來(lái)具體考慮。

推薦方案:在業(yè)務(wù)密集的Oracle SQL當(dāng)中盡量不采用IN操作符。

不用NOT IN操作符,可以用NOT EXISTS或者外連接+替代 此操作是強(qiáng)列推薦不使用的,因?yàn)樗荒軕?yīng)用表的索引。

推薦方案:用NOT EXISTS 或(外連接+判斷為空)方案代替

不用“<>”或者“!=”操作符。對(duì)不等于操作符的處理會(huì)造成全表掃描,可以用“<” or “>”代替

不等于操作符是永遠(yuǎn)不會(huì)用到索引的,因此對(duì)它的處理只會(huì)產(chǎn)生全表掃描。

推薦方案:用其它相同功能的操作運(yùn)算代替,如:

 1)a<>0 改為 a>0 or a<0

2)a<>’’ 改為 a>’’

Where子句中出現(xiàn)IS NULL或者IS NOT NULL時(shí),Oracle會(huì)停止使用索引而執(zhí)行全表掃描。可以考慮在設(shè)計(jì)表時(shí),對(duì)索引列設(shè)置為NOT NULL。這樣就可以用其他操作來(lái)取代判斷NULL的操作
IS NULL 或IS NOT NULL操作(判斷字段是否為空) 判斷字段是否為空一般是不會(huì)應(yīng)用索引的,因?yàn)锽樹索引是不索引空值的。

【編輯推薦】

  1. 對(duì)Oracle數(shù)據(jù)庫(kù)設(shè)計(jì)中字段的正確使用方案
  2. 訪問(wèn) Oracle 數(shù)據(jù)庫(kù)的實(shí)例描述
  3. Oracle數(shù)據(jù)庫(kù)的密集型實(shí)際應(yīng)用程序的開發(fā)
  4. 提高 Oracle JDBC的性能的辦法
  5. 淺談Oracle函數(shù)返回Table集合
責(zé)任編輯:佚名 來(lái)源: 博客園
相關(guān)推薦

2010-04-15 16:36:13

Oracle SQL

2010-04-13 16:08:24

Oracle數(shù)據(jù)插入

2010-04-12 17:30:44

Oracle SQL調(diào)

2010-04-09 10:32:03

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

2010-04-09 10:43:34

Oracle SQL

2010-04-20 15:58:15

Oracle 語(yǔ)句

2009-11-09 17:27:38

Oracle編碼SQL

2010-04-13 15:04:16

Oracle優(yōu)化

2010-04-12 12:55:24

Oracle 安裝經(jīng)驗(yàn)

2010-07-06 09:20:30

SQL Server查

2009-03-04 09:06:56

優(yōu)化sqlOracle

2010-07-05 18:02:37

SQL Server數(shù)

2009-11-16 16:59:24

Oracle優(yōu)化庫(kù)高速

2018-01-09 16:56:32

數(shù)據(jù)庫(kù)OracleSQL優(yōu)化

2010-04-27 15:59:26

Oracle to_c

2010-05-07 18:14:08

Oracle性能調(diào)整

2010-04-08 13:26:39

Oracle安裝

2010-04-06 16:12:25

Oracle約束

2010-04-26 15:30:45

Oracle join

2010-07-06 08:36:55

SQL Server實(shí)
點(diǎn)贊
收藏

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