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

Oracle in 與 not in在實(shí)際應(yīng)用的不同之處

數(shù)據(jù)庫 Oracle
本文主要介紹的是Oracle in 與 not in在實(shí)際應(yīng)用中的大不相同之處,以下就是文章的具體內(nèi)容的描述,望你瀏覽之后會(huì)有所收獲。

以下的文章主要講述的是Oracle in 與 not in在實(shí)際應(yīng)用中的區(qū)別,我們大家都知道在很多相關(guān)的軟件系統(tǒng)中,其系統(tǒng)的實(shí)際性能在很大程度上是由數(shù)據(jù)庫的相關(guān)性能所決定。以前也曾經(jīng)做過很多次關(guān)于性能方面的各種測試。

特別是關(guān)于Oracle的,我想到也應(yīng)該記錄下來一部分,為大家共享。

事情發(fā)生在我們的系統(tǒng)從sqlserver移植到Oracle,用戶在一個(gè)查詢的操作上等待的時(shí)間無法忍受了,我們關(guān)于這個(gè)查詢的處理與原來的方式一下,難道sqlserver 同Oracle有什么地方不一樣么,讓我們來看看Oracle有什么地方有問題,或者是我們使用的有問題?

業(yè)務(wù)問題大概可以這樣描述,一個(gè)父表,一個(gè)子表,查詢的結(jié)果是找到子表中沒有使用父表id的記錄,這種情況估計(jì)很多系統(tǒng)都會(huì)牽涉得到。讓我們來舉一個(gè)例子:

表一: 父表 parent

 

表二: 子表 childen

 

父表存儲(chǔ)父親,子表存儲(chǔ)孩子,然后通過pid和父表關(guān)聯(lián),查詢需要的結(jié)果是找到尚未有孩子的父親。

我們來看一下查詢語句的寫法:

 

  1. select * from parent where id not in (select pid from childen) 

這種標(biāo)準(zhǔn)的寫法在子表存在50萬條的記錄的時(shí)候,查詢時(shí)間超過了10秒,遠(yuǎn)遠(yuǎn)大于原來的sql server服務(wù)器的一秒。我在解決的時(shí)候想到了一個(gè)方法:

 

  1. select * from parent where id in  
  2. ( select id from parent minus select pid from childen )  

 

正常理解下,這個(gè)語句應(yīng)該更加費(fèi)時(shí),但是事實(shí)完全出乎意料,這條語句不僅僅在子表存在大量記錄的情況下速度良好,在子表少量數(shù)據(jù)的情況下速度也非常的好,基本在1秒內(nèi)完成。

這個(gè)結(jié)果可以很明顯的證明Oracle 在子查詢的內(nèi)部處理的時(shí)候,使用 Oracle in 和 not in 的巨大區(qū)別,希望用到這種方式的用戶注意,也期待有人解釋其中的問題。

【編輯推薦】

  1. Oracle10g中current_scn的正確計(jì)算運(yùn)行
  2. 用Oracle SQL語句來實(shí)現(xiàn)進(jìn)制間的相互轉(zhuǎn)換
  3. Oracle數(shù)據(jù)庫中的(+)連接如何操作?
  4. Oracle 10G數(shù)據(jù)庫中軟硬件環(huán)境有哪些要求?
  5. Oracle 10g的即時(shí)客戶端與PHP的安裝

 

責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2009-11-26 15:35:43

PHP函數(shù)eregi(

2010-04-20 16:07:25

Oracle DRCP

2010-04-08 11:11:16

Oracle查詢

2009-08-20 10:39:00

Java與C#的不同之

2012-08-23 13:36:27

2010-08-05 11:08:27

DB2存儲(chǔ)過程

2010-04-20 14:32:49

Oracle LABE

2014-08-14 17:11:51

LinuxWindows

2023-08-10 17:23:10

LibreOfficOpenOffice

2009-12-15 18:47:56

Ruby框架OG

2012-08-31 11:21:12

云計(jì)算大數(shù)據(jù)

2021-03-09 16:38:48

加密貨幣比特幣貨幣

2009-11-26 19:18:59

PHP函數(shù)implod

2010-05-21 15:33:54

MySQL text

2023-11-27 08:00:36

開發(fā)數(shù)據(jù)庫查詢

2010-09-27 10:43:35

無線路由器

2017-03-14 15:46:30

AndroidiOS不同之處

2010-05-21 15:53:30

2010-02-06 09:31:42

C++函數(shù)對(duì)象

2010-03-10 10:58:12

python接口功能
點(diǎn)贊
收藏

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