oracle底層的架構對編寫出高效能的sql語句非常重要
例項系統全域性記憶體區域性區域(sga)和一系列的後台程序組成(pga)
sga的兩個領域:共享池和資料庫資料緩衝
sga共享池: 地位: 關鍵部分之一;
作用:oracle快取程式資料的地方;
庫快取記憶體: 儲存sql語句的地方,儲存已經解析的語句的區域,解析暴走驗證語句的語法、檢驗提及的物件,以及確認該物件
的使用者許可權。
軟解析: 取回以前的解析資訊重用;
硬解析:執行所有工作為當前語句生成執行計畫
高速字典快取:存放系統引數;
最少使用演算法
語句需要被共享, 如何寫出高共享的sql語
編寫**較少使用鎖存器
如何檢視庫快取記憶體中包含此資料?
查詢表v$sql ;
oracle在執行語句時,oracle會首先將字串轉換為雜湊值,大小寫、注釋與否
鎖存器:oracle為了讀取存放在庫快取記憶體或其他記憶體結構中的資訊時必須獲得的一種鎖。
儲存庫快取記憶體避免被兩個同時執行的會話修改。
檢查鎖存器是否空閒
緩衝區快取:
最大的部分之一;
資料庫塊從物理盤讀取或寫入硬碟之前,它用來儲存資料塊,資料塊是oracle操作的最小單位;
塊中包含表資料行或索引條目,可能還包含用來排序的臨時資料:
關鍵點:oracle必須讀取塊來獲得sql語句需要的資料行,大小為4kb\8kb\16kb,大小因素取決於使用的作業系統;
塊有結構,一部分可能是用來管理塊本身的資訊,其餘部分用來儲存實際的資料或者空白空間;
塊的管理:使用最少使用演算法和維護乙個接觸計算器兩種方法進行維護;
使用鎖存器概念管理訪問
訪問盡可能少的資料塊;
邏輯讀取:從緩衝區快取中讀取資料塊
物理讀取:必須從磁碟讀取;
執行計畫開發,查詢轉換,發生在查詢語法和許可權檢查之後;
查詢一系列塊查詢塊的轉換階段;查詢塊是通過select關鍵字來定義的;
查詢轉換的目的:確定如果改變了查詢的語法會不會提供提供更好的的查詢計畫;
c 連線oracle資料庫底層方法
using oracle.manageddataaccess.client using system using system.collections using system.collections.generic using system.data using system.data.oledb...
資料庫底層 事務
事務指滿足acid特性的一組操作,可以通過commit提交,rollback回滾 一.acid 1.atomicity原子性 事務是不可分割的最小單元,事務的所有操作要麼全部提交成功,要麼全部失敗回滾。回滾時根據日誌反向操作 2.consistency一致性 事務執行前後保持一致性狀態,所有事務對乙...
oracle資料庫賦權 Oracle資料庫許可權
oracle資料庫許可權基本認識 一 oracle許可權 oracle系統提供三種許可權 object 物件級 system 系統級 role 角色級。許可權分類 1 系統許可權 系統規定使用者使用資料庫的許可權。系統許可權是對使用者而言 2 實體許可權 某種許可權使用者對其它使用者的表或檢視的訪問...