新聞中心
oracle解析規(guī)則?
1)語法檢查(syntax check)

公司主營業(yè)務(wù):網(wǎng)站設(shè)計(jì)、做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出鄂托克前免費(fèi)做網(wǎng)站回饋大家。
2)語義檢查(symantic check): 對象是否存在,是否有權(quán)限。
3)sql解析(parse): 利用內(nèi)部算法對sql進(jìn)行解析,生成解析樹及執(zhí)行計(jì)劃。
4)執(zhí)行sql,返回結(jié)果(execute and return)
一個sql 語句,進(jìn)入到數(shù)據(jù)庫后,server process 會拿著sql語句到shared pool中的library cache 里邊去找,看sql語句以前是否有執(zhí)行過。也就是在library cache 里面看有沒有這條sql語句以及sql語句所對應(yīng)的執(zhí)行計(jì)劃。(此過程是通過對傳遞進(jìn)來的SQL語句使用HASH函數(shù)運(yùn)算得出HASH值,與共享池中現(xiàn)有語句的HASH值進(jìn)行比較看是否一一對應(yīng)?,F(xiàn)有數(shù)據(jù)庫中SQL語句的HASH值我們可以通過訪問vsql、vsql、vsqlarea、v$sqltext等數(shù)據(jù)字典中的HASH_VALUE列查詢得出。)
Oracle的解析規(guī)則是指當(dāng)多個游標(biāo)(cursor)都指向同一個SQL語句時,Oracle如何確定哪個游標(biāo)使用哪個SQL語句的解析結(jié)果。
Oracle的解析規(guī)則如下:
每個游標(biāo)都會有一個獨(dú)立的SQL區(qū)域,其中存儲著該游標(biāo)對應(yīng)的SQL語句。當(dāng)游標(biāo)被打開時,Oracle會在內(nèi)存中為該SQL語句分配一個私有SQL區(qū)域。
當(dāng)多個游標(biāo)都指向同一個SQL語句時,Oracle會為每個游標(biāo)創(chuàng)建一個獨(dú)立的解析樹,并將該解析樹存儲在PGA(Program Global Area)的私有SQL區(qū)域中。
當(dāng)某個游標(biāo)需要執(zhí)行該SQL語句時,Oracle會檢查該游標(biāo)的私有SQL區(qū)域中是否存在該SQL語句的解析結(jié)果。如果存在,則直接使用該解析結(jié)果;如果不存在,則需要對該SQL語句進(jìn)行解析。
到此,以上就是小編對于oracle游標(biāo)的使用詳解的問題就介紹到這了,希望這1點(diǎn)解答對大家有用。
新聞名稱:oracle解析規(guī)則?(oracle游標(biāo)怎么使用)
文章起源:http://www.dlmjj.cn/article/cddoipd.html


咨詢
建站咨詢
