Oracle中SQL解析的流程
生活随笔
收集整理的這篇文章主要介紹了
Oracle中SQL解析的流程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Oracle中SQL解析的主要流程: 我們說的游標概念比較復雜,它可以是客戶端程序中的游標,服務進程中的私有游標,以及服務器端共享池里的共享游標。假設一個游標被打開了,一般來說它的共享游標信息(包括執行計劃,優化樹等)總是會在SQL AREA里,無需再次軟/硬解析。 SESSION_CACHED_CURSORS是Oracle中的一個初始化參數(修改必須重啟實例),指定了每個會話緩存的游標上限(保留在PGA中);客戶端程序中open cursor的要求仍會被傳遞給服務進程,服務進程首先掃描自身緩存的游標信息,如果命中則可以避免軟解析,也有人稱它為“軟軟解析”。 HOLD_CURSOR是預編譯程序中的一個參數,它指定了私有游標是否因該被緩存,這里不做展開。 在分析工具tkprof中hard parse與soft parse被同等對待,都被認為是parse;軟解析即會造成parse總數上升。 軟解析避免了硬解析過程中的幾個步驟,但仍包括了初始化的語法,語義解析并計算語句HASH值與SQL AREA中已有語句進行對比;若匹配則查詢優化等昂貴的操作得以避免。 另請注意,10053事件僅在硬解析過程中被觸發。
轉載于:https://blog.51cto.com/maclean/1277514
總結
以上是生活随笔為你收集整理的Oracle中SQL解析的流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 15平混搭无国界老房新装变魅力四射跃层家
- 下一篇: php.ini 配置详解