sql語句執(zhí)行順序

sql語句執(zhí)行順序

ID:23166484

大?。?1.50 KB

頁數(shù):8頁

時間:2018-11-05

sql語句執(zhí)行順序_第1頁
sql語句執(zhí)行順序_第2頁
sql語句執(zhí)行順序_第3頁
sql語句執(zhí)行順序_第4頁
sql語句執(zhí)行順序_第5頁
資源描述:

《sql語句執(zhí)行順序》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、sql語句執(zhí)行順序sql執(zhí)行順序和原理一、sql語句的執(zhí)行步驟:1)語法分析,分析語句的語法是否符合規(guī)范,衡量語句中各表達式的意義。2)語義分析,檢查語句中涉及的所有數(shù)據(jù)庫對象是否存在,且用戶有相應(yīng)的權(quán)限。3)視圖轉(zhuǎn)換,將涉及視圖的查詢語句轉(zhuǎn)換為相應(yīng)的對基表查詢語句。4)表達式轉(zhuǎn)換,將復(fù)雜的SQL表達式轉(zhuǎn)換為較簡單的等效連接表達式。5)選擇優(yōu)化器,不同的優(yōu)化器一般產(chǎn)生不同的“執(zhí)行計劃”6)選擇連接方式,ORACLE有三種連接方式,對多表連接ORACLE可選擇適當(dāng)?shù)倪B接方式。7)選擇連接順序,對多表連

2、接ORACLE選擇哪一對表先連接,選擇這兩表中哪個表做為源數(shù)據(jù)表。8)選擇數(shù)據(jù)的搜索路徑,根據(jù)以上條件選擇合適的數(shù)據(jù)搜索路徑,如是選用全表搜索還是利用索引或是其他的方式。9)運行“執(zhí)行計劃”二、oracle共享原理:ORACLE將執(zhí)行過的SQL語句存放在內(nèi)存的共享池(sharedbufferpool)中,可以被所有的數(shù)據(jù)庫用戶共享當(dāng)你執(zhí)行一個SQL語句(有時被稱為一個游標(biāo))時,如果它和之前的執(zhí)行過的語句完全相同,ORACLE就能很快獲得已經(jīng)被解析的語句以及最好的執(zhí)行路徑.這個功能大大地提高了SQL的

3、執(zhí)行性能并節(jié)省了內(nèi)存的使用三、oracle語句提高查詢效率的方法:1:nin(select*from......子句組裝來自不同數(shù)據(jù)源的數(shù)據(jù);2、ax(總成績)asmax總成績篇二:SQL語句執(zhí)行順序一、sql語句的執(zhí)行步驟:1)語法分析,分析語句的語法是否符合規(guī)范,衡量語句中各表達式的意義。2)語義分析,檢查語句中涉及的所有數(shù)據(jù)庫對象是否存在,且用戶有相應(yīng)的權(quán)限。3)視圖轉(zhuǎn)換,將涉及視圖的查詢語句轉(zhuǎn)換為相應(yīng)的對基表查詢語句。4)表達式轉(zhuǎn)換,將復(fù)雜的SQL表達式轉(zhuǎn)換為較簡單的等效連接表達式。5)選擇

4、優(yōu)化器,不同的優(yōu)化器一般產(chǎn)生不同的“執(zhí)行計劃”6)選擇連接方式,有三種連接方式,對多表連接ORACLE可選擇適當(dāng)?shù)倪B接方式。7)選擇連接順序,對多表連接ORACLE選擇哪一對表先連接,選擇這兩表中哪個表做為源數(shù)據(jù)表。8)選擇數(shù)據(jù)的搜索路徑,根據(jù)以上條件選擇合適的數(shù)據(jù)搜索路徑,如是選用全表搜索還是利用索引或是其他的方式。9)運行“執(zhí)行計劃”二、oracle共享原理:ORACLE將執(zhí)行過的SQL語句存放在內(nèi)存的共享池(sharedbufferpool)中,可以被所有的數(shù)據(jù)庫用戶共享當(dāng)你執(zhí)行一個SQL語句

5、(有時被稱為一個游標(biāo))時,如果它和之前的執(zhí)行過的語句完全相同,ORACLE就能很快獲得已經(jīng)被解析的語句以及最好的執(zhí)行路徑.這個功能大大地提高了SQL的執(zhí)行性能并節(jié)省了內(nèi)存的使用三、oracle語句提高查詢效率的方法:1:nin(select*from......子句組裝來自不同數(shù)據(jù)源的數(shù)據(jù);2、子句組裝來自不同數(shù)據(jù)源的數(shù)據(jù);2、子句組裝來自不同數(shù)據(jù)源的數(shù)據(jù);2、子句組裝來自不同數(shù)據(jù)源的數(shù)據(jù);2、esetcolumnName=variable,variable=variable+1先執(zhí)行variabl

6、e=variable+1,再執(zhí)行columnName=variable2.如果有多個A類(或B類)表達式,按從左到右順序執(zhí)行A類(或B類)表達式。例:updatetablenamesetcolumnName=variable,variable=variable+1,variable=2*variable先執(zhí)行variable=variable+1,再執(zhí)行variable=2*variable,最后執(zhí)行columnName=variable3.列名所代表的值永遠是原值。例:updatetablenam

7、esetcolumnName=colunName+1,columnNameBagroupby在select語句中可以使用groupby子句將行劃分成較小的組,然后,使用聚組函數(shù)返回每一個組的匯總信息,另外,可以使用having子句限制返回的結(jié)果集。groupby子句可以將查詢結(jié)果分組,并返回行的匯總信息Oracle按照groupby子句中指定的表達式的值分組查詢結(jié)果。在帶有g(shù)roupby子句的查詢語句中,在select列表中指定的列要么是groupby子句中指定的列,要么包含聚組函數(shù)selectma

8、x(sal),jobempgroupbyjob;(注意max(sal),job的job并非一定要出現(xiàn),但有意義)查詢語句的select和groupby,having子句是聚組函數(shù)唯一出現(xiàn)的地方,在(sal)fromemp(sal)>8500orderbydeptno;當(dāng)在gropuby子句中使用having子句時,查詢結(jié)果中只返回滿足having條件的組。在一個sql語句中可以有empgroupbydeptno,job;OracleSQL性能優(yōu)化技巧1.選用適合

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。