oracle sql 解析過程

2021-06-03 15:01:20 字數 586 閱讀 6050

解析有兩種:硬解析和軟解析

parse

1、從共享池的庫緩衝區中搜尋,該語句是否曾經執行過,凡是執行過的sql語句,oracle會使用hash函式進行計算,產生乙個很小的文字記錄,如果是第一次執行,則進入第二步。

2、檢查語句、許可權等等(許可權資訊是存放在oracle的資料字典中,oracle先從共享池的資料字典緩衝區搜尋,如果沒有找到,就從資料檔案中找,system表空間的資料檔案當中讀取,然後存放到共享池的資料字典緩衝區,以便共享)

3、分析過程中,對訪問到的表進行鎖操作,目的是為了保護表的結構不被修改

4、oracle優化器會根據資料的儲存結構(表儲存結構,索引)統計資訊等,計算各種讀取代價,選擇一條最佳的路徑(代價最低的),生成執行計畫,同事編譯病儲存在共享池中,以便共享;

bind------特別是oltp

繫結變數,這樣一條語句就可以被多次共享了。

execute(執行)

先從資料緩衝區查詢資料,如果沒有,再從資料檔案讀取資料到緩衝區,儲存以便共享。

fetch

把結果返回給使用者

硬解析就是全部執行以上4步的過程

軟解析就是直接第4步(從緩衝區拿資料)

Oracle SQL語句解析過程

目錄 oracle sql語句解析過程 1 軟硬解析 2 sql解析過程 sql語句在到達oracle例項後,需要先進行解析,分析出最優的執行計畫後,再按照執行計畫,開始執行sql。根據能否復用執行計畫,解析過程可以分析以下兩大類 注意 oracle中只有完全相同的語句,包大小寫 空格 換行都要求一...

Oracle sql執行過程

每種型別的語句都要執行的全過程 1 create a cursor 建立游標 2 parse the statement 分析語句 5 bind any variables 繫結變數 7 run the statement 執行語句 9 close the cursor 關閉游標 如果使用了並行功能...

五 Oracle SQL(儲存過程)

7.1.1 定義 所謂儲存過程,就是一段儲存在資料庫中執行某塊業務功能的程式模組。它是由一段或者多段的pl sql 塊或者sql語句組成的一系列 塊。7.1.2 結構分析create or replace procedure 過程名 p1 in out datatype,p2 in out data...