PGA
程式全域性區域( Program Global Area ) 是 只對一個段杜的伺服器程式可用的記憶體區域,PGA 包含的條目,使用者變數和一個單獨使用者的SQL語句的遊標資訊,例如目前已檢索的行數。
在 ORACLE 10g , 可以簡單的為 SGA 和 PGA 設定一個最大值, ORACLE 自己會負責這些區域每個元件的分配。
NCHAR 和 NVARCHAR2 資料型別
oracle 資料庫可用於不同的語言儲存字元資料,包括中文,日文等等,這些語言使用 NCHAR 和 NVARCHAR2 資料型別。
oracle 資料庫如何對 SQL 語句做出響應 ?
以上是 oracle 對 sql 的響應情況,其中 陰影部分為可選。即便是開發人員沒有使用顯示遊標,oracle伺服器也預設使用遊標,
1. 連線到資料庫: 是通過 TCP/IP 來與 oracle 伺服器的監聽器接收,這就是會話,一般每個會話都有程式。
2. 建立遊標: PGA 中包含遊標資訊,不需要顯示開啟遊標來執行一個SQL語句,因為oracle資料庫可以自動執行該功能。
對於DDL和寫操作,語句載入到共享的SQL區域,就可以開始執行了,對於查詢來說,語句必須經過一步額外優化。oracle會確認在記憶體中是否存在語句。
使用繫結變數的好處:
例如 : SELECT ENAME FROM EMP WHERE EMP_ID = 7
SELECT ENAME FROM EMP WHERE EMP_ID = 5
一看上邊兩句就用該使用同一個優化計劃,但是實際不是,因為 條件限制,而如果使用繫結變數,就可以使用同一個優化計劃。
SELECT ENAME FROM EMP WHERE EMP_ID = :empID