Oracle硬解析 軟解析 軟軟解析 理解

2021-09-24 04:59:49 字數 411 閱讀 9386

硬解析:library cache 中不存在父游標或者存在父游標,但是沒有子游標

軟解析:library cache中存在父游標、子游標

軟軟解析:會話pga中存在session cursor

一條新的sql查詢,開始硬解析,會先將sql語句經過ascii轉換,通過hash演算法去遍歷library cache的hash buckets,隨後在object handles中找尋父游標裡面包含sql文字,隨後生成子游標包含執行計畫和解析樹,執行計畫在heap 6中,解析完畢之後sql開始執行,最終反饋結果給客戶端。

以上是個人不嚴謹的理解,下圖是參考dbsnake,經典的library cache結構圖。

Oracle SQL的硬解析 軟解析 軟軟解析

oracle中每條sql在執行前都要解析,解析分為硬解析 軟解析 軟軟解析。oracle會快取dml語句,相同的dml語句會進行軟解析。但不會快取ddl語句,所以ddl每次都做硬解析。硬解析是乙個很耗時的操作,所以應用程式內部很少執行執行ddl。ddl一般在部署前執行。sql語句執行步驟 1.語法檢...

Oracle的硬解析和軟解析

提到軟解析 soft parse 和硬解析 hard parse 就不能不說一下oracle對sql的處理過程。當你發出一條sql語句交付oracle,在執行和獲取結果前,oracle對此sql將進行幾個步驟的處理過程 1 語法檢查 syntax check 檢查此sql的拼寫是否語法。2 語義檢查...

Oracle的硬解析和軟解析

提到軟解析 soft prase 和硬解析 hard prase 就不能不說一下oracle對sql的處理過程。當你發出一條sql語句交付oracle,在執行和獲取結果前,oracle對此sql將進行幾個步驟的處理過程 1 語法檢查 syntax check 檢查此sql的拼寫是否語法。2 語義檢查...