一條SQL語句遊標的生命週期


每一天SQL語句中客戶端都表現爲一個上下文區域(context area)或者一個遊標(cursor)。遊標的生命週期如下圖所示:

1.創建遊標。遊標是內存中的一塊區域,用來保存當前打開的SQL語句的定義信息。

2.在oralce共享內存中進行檢索,確認是否存在這條SQL語句的緩存副本。

3.解析SQL語句,涉及檢查SQL語句的語法,對象引用,已經調用oracle 優化器來確定查詢計劃。

4.爲綁定變量賦值。在執行SQL語句之前,所有綁定變量(需要由應用程序提供相應值的佔位符)的值都要黏附到SQL語句上。

5.執行SQL語句。執行過程包括查詢語句,DML和DDL語句的執行。如果是查詢語句,執行將爲語句的數據提取做準備。

6.提取記錄。爲查詢語句返回一條或多條記錄。

7.關閉遊標。釋放與此遊標相關的所有內存和資源(儘管這個遊標的共享部分可能仍然保留在oracle共享內存中)。


發佈了13 篇原創文章 · 獲贊 16 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章