sql 執行過程

huzhichengforce發表於2013-03-28
1.建立遊標
2.分析語句
      把SQL從使用者程式載入到oracle‘s shared pool
      if( hash_value(Sql_Statement) in hash_table == true )
      (
        soft_parse;
      ) else (
        hard_parse;
      )

      soft_parse:主要是為了驗證使用者是否有許可權run this sql.
      hard_parse:
        1.語法分析
        2.語義分析
        3.透過資料字典驗證物件和列等資訊
        4.同義詞轉換(如果存在)
        5.使用者許可權驗證
        6.根據最佳化器,生成執行計劃
        7.載入library cache
        (分析過程中要用到dictionary cache中的資訊,如查閱使用者許可權等)

3.描述查詢結果
    選擇哪幾列

4.定義查詢的輸出

5.繫結變數

6.並行功能(如果需要)

7.執行

8.把fetch 的資料放入databuffer (如果在databuffer中不存在)

9.關閉遊標

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26764973/viewspace-757306/,如需轉載,請註明出處,否則將追究法律責任。

相關文章