91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【體系結構】一條SQL語句經歷了什么

發布時間:2020-08-16 01:39:41 來源:ITPUB博客 閱讀:135 作者:恩強Boy 欄目:關系型數據庫

我們都知道 Oracle 是通過 SQL 語句來查詢或者進行修改的。那么 SQL 從客戶端執行開始,經歷了哪些進程?哪些 SGA ?是怎么進入到數據文件的呢?請往下看

情況一:在數據庫中查詢 select

【體系結構】一條SQL語句經歷了什么

如圖所示:

① 客戶端輸入 SQL,SQL 語句通過網絡到達數據庫實例,前臺進程(服務器進程)接受 SQL 語句, PGA 這時會分配一段空間給前臺進程。

② 將 SQL 語句解析為“執行計劃”,然后才能執行

解析這部分消耗很多資源: CPU I/O

此時 SQL 語句和執行計劃都會被緩存在共享池 (shared pool)

③ 通過生成的執行計劃在數據庫緩沖區( buffer cache )和 dbf 文件中找數據

此過程會涉及數據庫緩沖區,數據庫緩沖區的作用就是緩存 dbf 的數據。所以是首先從數據庫緩沖區看是否有數據,有的話就從數據庫緩沖區中獲取,如果沒有就從 dbf 文件中獲取。 dbf 中的數據首先會傳到數據庫緩沖區中。然后在通過前臺進程將數據返回客戶端。

① ② ③過程都是有前臺進程完成


情況二:修改某個表的數據

【體系結構】一條SQL語句經歷了什么

①  同查詢一樣,客戶端將要求前臺進程傳輸到共享池中,然后到數據庫緩沖區讀數據。如果數據庫緩沖區中沒有數據,那么就從 dbf 文件中找, dbf 中的數據會傳送到數據庫緩沖區,由前臺進程進行讀取。

②  前臺進程在數據庫緩沖區中對表進行修改,提交,此時,會產生日志。產生的日志會寫到日志緩沖區中。

③  在數據庫緩沖區中修改完數據后,此時內存中的數據和數據文件中的數據不一致。需要將內存中的數據寫到數據文件中。這個過程由數據庫寫進程來完成。

④  內存中日志緩沖區產生的日志需要寫到日志文件中,這個過程由日志寫進程完成。




------------- end ---------------


 

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

延津县| 灵台县| 荥经县| 沾益县| 东明县| 治多县| 新疆| 沾化县| 湖州市| 寿阳县| 专栏| 淄博市| 谷城县| 方正县| 马边| 黄平县| 通辽市| 凤山县| 鄂尔多斯市| 石楼县| 汶上县| 丹阳市| 巴林左旗| 五莲县| 日喀则市| 化德县| 芜湖市| 广德县| 庆元县| 吉安县| 亳州市| 安泽县| 常熟市| 新疆| 吉林市| 铁岭县| 遵化市| 印江| 信宜市| 樟树市| 武功县|