oracle各型別SQL的操作流程

2021-09-02 02:56:13 字數 889 閱讀 9087

select

•select * from test  where  object_id=200在體系中是如何運轉的。

•1. 在pga中把此條sql語句hash成乙個值;

•2. 接下來根據此hash值到sga的共享池中去匹配,如果沒有,首先查詢自己的語句語法是否正確,語義是否正確,是否有許可權。如果都通過則通過cbo解析生成執行計畫(如走索引還是全表)。

•3. 如果是走索引,到資料快取區找到object_id=200的索引,根據索引rowid找到記錄,如果資料快取區找不到,則到資料檔案中找到,並展示給使用者。

update

•update test set object_id = 100 where object_id = 200; 在體系中是如何運轉的。

•更新object_id=200的記錄首先要查到object_id=200的記錄,檢查object_id=200是否在資料快取中,不在則從磁碟中讀取到資料快取中。

•在回滾表空間的相應回滾段事務表上分配事務槽,從而在回滾表空間分配到空間。該動作需要記錄redo日誌。

•在資料快取區中建立object_id=200的前映象,前映象資料也會寫進磁碟的資料檔案(undo表空間的資料檔案),從快取區寫進磁碟有ckpt決定,當然這些動作都要記錄redo日誌。

•前面的步驟做完了,才允許object_id=200改為object_id=100,記錄redo日誌。

•此時使用者如果執行了提交,日誌快取區立即記錄這個提交資訊,然後將回滾段事務標記為非啟用inactive狀態,表示允許重寫。

如果執行了回滾,oracle需要從回滾段中將前映象object_id=200的資料讀出來,修改資料快取區,完成回滾,記錄redo日誌。

delete運作流程?

python基礎語法3 各型別操作

整型 int 通常被稱為是整型或整數,是正或負整數,不帶小數點。python3 整型是沒有限制大小的,可以當作 long 型別使用,所以 python3 沒有 python2 的 long 型別。浮點型 float 浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示 2.5e2 2.5 ...

oracle 操作表的sql

新建表 create table table1 id varchar 300 primary key,name varchar 200 not null 插入資料 insert into table1 id,name values aa bb 更新資料 update table1 set id bb...

Oracle與Oracle的SQL操作語句

oracle 也是一種資料庫管理系統 儲存結構分類 邏輯儲存結構,物理儲存結構 邏輯儲存結構 資料塊 資料塊是oracle邏輯儲存結構的最小邏輯結構,乙個資料塊對應乙個或多個物理塊,資料塊的結構包括塊頭和儲存區的兩個部分 塊頭包括 資料塊標題,表目錄,行目錄 儲存區 自由空間,行資料 資料區 資料區...