oracle動(dòng)態(tài)sql語(yǔ)句綁定變量 oracle綁定變量查詢?
oracle綁定變量查詢?綁定變量是為了減少解析。例如,有這樣一個(gè)語(yǔ)句Select AAA,BBB from CCC where DDD=EEE如果您經(jīng)常通過(guò)更改EEE的賦值進(jìn)行查詢,如下所示Sele
oracle綁定變量查詢?
綁定變量是為了減少解析。例如,有這樣一個(gè)語(yǔ)句
Select AAA,BBB from CCC where DDD=EEE
如果您經(jīng)常通過(guò)更改EEE的賦值進(jìn)行查詢,如下所示
Select AAA,BBB from CCC where DDD=FFF
Select AAA,BBB from CCC where DDD=GGG
Select AAA,BBB from CCC where DDD=GGG
Select AAA,BBB from CCC where DDD=GGG
Select AAA,BBB from CCC where DDD=HHH
每個(gè)語(yǔ)句都需要被數(shù)據(jù)庫(kù)解析一次,這是對(duì)資源的浪費(fèi)。如果將EEE改為綁定變量形式“:1”,無(wú)論DDD后的值是什么,都不需要反復(fù)解析
如果使用數(shù)據(jù)倉(cāng)庫(kù),運(yùn)行一個(gè)大查詢幾個(gè)小時(shí),根本不需要做綁定變量,因?yàn)榻馕龅南牧亢苄?,而且綁定變量很好,也有一個(gè)很好的效果對(duì)執(zhí)行路徑的判斷產(chǎn)生負(fù)面影響。
Oracle綁定變量有哪些用法?
綁定變量是為了減少解析。例如,如果您有一個(gè)類(lèi)似select AAA,BBB from CCC where DDD=EEE的語(yǔ)句,如果您經(jīng)常通過(guò)更改EEE的值進(jìn)行查詢,例如select AAA,BBB from CCC where DDD=fffselect AAA,BBB from CCC where DDD=gggselect AAA,BBB from CCC where DDD=gggselect AAA,BBB from CCC where DDD=HHH每個(gè)語(yǔ)句都需要被數(shù)據(jù)庫(kù)解析一次,這是對(duì)資源的浪費(fèi)。如果用綁定變量形式“:1”替換EEE,則無(wú)論DDD后面是什么值,都不需要重復(fù)解析。如果使用數(shù)據(jù)倉(cāng)庫(kù),運(yùn)行一個(gè)大查詢幾個(gè)小時(shí),根本不需要做綁定變量,因?yàn)榻馕龅南氖亲钚〉模壎ㄗ兞繉?duì)于優(yōu)化非常重要,對(duì)執(zhí)行路徑的判斷也有負(fù)面影響。
oracle變量綁定,什么情況下適用?
您下載的即時(shí)客戶端是Oracle數(shù)據(jù)庫(kù)的實(shí)時(shí)客戶端,而不是真正的Oracle客戶端。真正的Oracle客戶端將安裝配置工具、sqlplus等。實(shí)時(shí)客戶端只需解壓到本地文件夾,并在Oracle中定義home中的環(huán)境變量,以便其他想要連接到數(shù)據(jù)庫(kù)的軟件可以通過(guò)其OCI連接到Oracle server。