每一天SQL語句中客戶端都表現爲一個上下文區域(context area)或者一個遊標(cursor)。遊標的生命週期如下圖所示:
1.創建遊標。遊標是內存中的一塊區域,用來保存當前打開的SQL語句的定義信息。
2.在oralce共享內存中進行檢索,確認是否存在這條SQL語句的緩存副本。
3.解析SQL語句,涉及檢查SQL語句的語法,對象引用,已經調用oracle 優化器來確定查詢計劃。
4.爲綁定變量賦值。在執行SQL語句之前,所有綁定變量(需要由應用程序提供相應值的佔位符)的值都要黏附到SQL語句上。
5.執行SQL語句。執行過程包括查詢語句,DML和DDL語句的執行。如果是查詢語句,執行將爲語句的數據提取做準備。
6.提取記錄。爲查詢語句返回一條或多條記錄。
7.關閉遊標。釋放與此遊標相關的所有內存和資源(儘管這個遊標的共享部分可能仍然保留在oracle共享內存中)。