掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流
Oracle數(shù)據(jù)庫(kù)在當(dāng)今數(shù)據(jù)庫(kù)市場(chǎng)上占有著一定的份額,所以掌握好Oracle數(shù)據(jù)庫(kù)也是非常有必要的,能夠掌握Oracle數(shù)據(jù)庫(kù)Where條件執(zhí)行順序也會(huì)成為您在社會(huì)競(jìng)爭(zhēng)中的有力條件。

創(chuàng)新互聯(lián)建站專(zhuān)注為客戶(hù)提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、海州網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開(kāi)發(fā)、海州網(wǎng)絡(luò)營(yíng)銷(xiāo)、海州企業(yè)策劃、海州品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪(fǎng)、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供海州建站搭建服務(wù),24小時(shí)服務(wù)熱線(xiàn):028-86922220,官方網(wǎng)址:www.cdcxhl.com
由于SQL優(yōu)化起來(lái)比較復(fù)雜,并且還會(huì)受環(huán)境限制,在開(kāi)發(fā)過(guò)程中,寫(xiě)SQL必須必須要遵循以下幾點(diǎn)的原則:
1.ORACLE采用自下而上的順序解析WHERE子句,根據(jù)這個(gè)原理,表之間的連接必須寫(xiě)在其他WHERE條件之前, 那些可以過(guò)濾掉***數(shù)量記錄的條件必須寫(xiě)在WHERE子句的末尾.
例如:
(低效)
SELECT … FROM EMP E WHERE SAL > 50000 AND JOB = ‘MANAGER’ AND 25 < (SELECT COUNT(*) FROM EMP WHERE MGR=E.EMPNO);
(高效)
SELECT … FROM EMP E WHERE 25 < (SELECT COUNT(*) FROM EMP WHERE MGR=E.EMPNO) AND SAL > 50000 AND JOB = ‘MANAGER’;
2.SELECT子句中避免使用’*’
當(dāng)在SELECT子句中列出所有的COLUMN時(shí),使用動(dòng)態(tài)SQL列引用 ‘*’ 是一個(gè)方便的方法.可是,這是一個(gè)非常低效的方法. 實(shí)際上,ORACLE在解析的過(guò)程中, 會(huì)將’*’ 依次轉(zhuǎn)換成所有的列名, 這個(gè)工作是通過(guò)查詢(xún)數(shù)據(jù)字典完成的, 這意味著將耗費(fèi)更多的時(shí)間.
3.使用表的別名(Alias)
當(dāng)在SQL語(yǔ)句中連接多個(gè)表時(shí), 請(qǐng)使用表的別名并把別名前綴于每個(gè)Column上.這樣一來(lái),就可以減少解析的時(shí)間并減少那些由Column歧義引起的語(yǔ)法錯(cuò)誤.
注:Column歧義指的是由于SQL中不同的表具有相同的Column名,當(dāng)SQL語(yǔ)句中出現(xiàn)這個(gè)Column時(shí),SQL解析器無(wú)法判斷這個(gè)Column的歸屬。
Oracle數(shù)據(jù)庫(kù)中還涉及到更多的語(yǔ)句條件,本文就為大家介紹Where條件執(zhí)行順序,大家好可以去了解更多的Oracle數(shù)據(jù)庫(kù)語(yǔ)句條件,希望上文中介紹的內(nèi)容對(duì)大家能夠有所幫助。
【編輯推薦】

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流