a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 數(shù)據(jù)庫(kù) > Oracle > 正文

輕松掌握Oracle數(shù)據(jù)庫(kù)Where條件執(zhí)行順序

2024-08-29 13:52:27
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
由于SQL優(yōu)化起來(lái)比較復(fù)雜,并且還會(huì)受環(huán)境限制,在開(kāi)發(fā)過(guò)程中,寫SQL必須必須要遵循以下幾點(diǎn)的原則:

1.Oracle采用自下而上的順序解析WHERE子句,根據(jù)這個(gè)原理,表之間的連接必須寫在其他WHERE條件之前, 那些可以過(guò)濾掉最大數(shù)量記錄的條件必須寫在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ò)查詢數(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的歸屬。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 免费av一区| 午夜一级黄色片 | 成人午夜视频在线观看 | 最新日韩精品在线观看 | 99福利视频 | 国产激情视频网 | 免费人成在线观看网站 | 日韩大片免费观看视频播放 | 国产伦精品一区二区三区照片91 | 福利网址 | 亚洲欧美日韩精品 | www.99re | 超级碰在线视频 | 久久99精品久久久噜噜最新章节 | 国产精品一区二区三区免费 | 男人久久天堂 | 日本精品黄色 | 国产精品久久久久久久久久久新郎 | 91资源在线 | 国产三区四区 | 成人片免费看 | 超碰在线影院 | 欧美午夜精品久久久久免费视 | 亚洲综人网 | 日韩人体在线 | 成人在线免费视频观看 | 国产午夜久久 | 免费看a| 日韩精品一区二区三区第95 | 91久久精品www人人做人人爽 | v亚洲| 涩久久| 国产精品视频一区二区免费不卡 | 污网站在线观看免费 | 午夜一区二区三区 | 亚洲欧美激情另类 | 懂色av一区二区三区免费观看 | 国产精品美女视频一区二区三区 | 国产伦精品一区二区 | 精品成人佐山爱一区二区 | 色姑娘综合网 |