sql 執行過程
1.建立遊標
2.分析語句
把SQL從使用者程式載入到oracle‘s shared pool
if( hash_value(Sql_Statement) in hash_table == true )
(
soft_parse;
) else (
hard_parse;
)
soft_parse:主要是為了驗證使用者是否有許可權run this sql.
hard_parse:
1.語法分析
2.語義分析
3.透過資料字典驗證物件和列等資訊
4.同義詞轉換(如果存在)
5.使用者許可權驗證
6.根據最佳化器,生成執行計劃
7.載入library cache
(分析過程中要用到dictionary cache中的資訊,如查閱使用者許可權等)
3.描述查詢結果
選擇哪幾列
4.定義查詢的輸出
5.繫結變數
6.並行功能(如果需要)
7.執行
8.把fetch 的資料放入databuffer (如果在databuffer中不存在)
9.關閉遊標
把SQL從使用者程式載入到oracle‘s shared pool
if( hash_value(Sql_Statement) in hash_table == true )
(
soft_parse;
) else (
hard_parse;
)
soft_parse:主要是為了驗證使用者是否有許可權run this sql.
hard_parse:
1.語法分析
2.語義分析
3.透過資料字典驗證物件和列等資訊
4.同義詞轉換(如果存在)
5.使用者許可權驗證
6.根據最佳化器,生成執行計劃
7.載入library cache
(分析過程中要用到dictionary cache中的資訊,如查閱使用者許可權等)
3.描述查詢結果
選擇哪幾列
4.定義查詢的輸出
5.繫結變數
6.並行功能(如果需要)
7.執行
8.把fetch 的資料放入databuffer (如果在databuffer中不存在)
9.關閉遊標
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26764973/viewspace-757306/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql執行過程分析SQL
- 一條Sql的執行過程SQL
- mysql執行sql語句過程MySql
- SQL語句執行過程詳解SQL
- CoreData執行過程的sql語句SQL
- sql語句執行過程小結SQL
- 剖析SQL語句的執行過程SQL
- Oracle SQL 語句的執行過程OracleSQL
- 【SQL】Oracle避免動態SQL,提高過程執行效率SQLOracle
- 一條sql語句的執行過程SQL
- 一條 sql 的執行過程詳解SQL
- MySQL 中一條 sql 的執行過程MySql
- mybatis-spring sql執行過程分析MyBatisSpringSQL
- 淺談SQL語句的執行過程SQL
- 10_SQL語句執行過程剖析SQL
- 理解oracle執行sql語句的過程OracleSQL
- ORACLE sql 語句的執行過程(SQL效能調整)OracleSQL
- maven外掛執行過程中自動執行sql檔案MavenSQL
- Oracle資料庫SQL語句執行過程Oracle資料庫SQL
- [MSSQL]sql 儲存過程定時執行方法SQL儲存過程
- GaussDB SQL查詢語句執行過程解析SQL
- 在.NET中用儲存過程執行SQL語句儲存過程SQL
- 【基礎篇基本原理】sql執行過程SQL
- Mysql之一次完成的sql執行過程MySql
- Oracle DDL 執行過程Oracle
- Java 程式執行過程Java
- 指令的執行過程
- MySQL探祕(二):SQL語句執行過程詳解MySql
- [20170703]SQL語句分析執行過程.txtSQL
- 儲存過程中檢視sql執行計劃的方法儲存過程SQL
- Mybatis原始碼分析(五)探究SQL語句的執行過程MyBatis原始碼SQL
- MYSQL sql執行過程的一些跟蹤分析(一)MySql
- 精盡MyBatis原始碼分析 - SQL執行過程(三)之 ResultSetHandlerMyBatis原始碼SQL
- 精盡MyBatis原始碼分析 - SQL執行過程(一)之 ExecutorMyBatis原始碼SQL
- 精盡MyBatis原始碼分析 - SQL執行過程(二)之 StatementHandlerMyBatis原始碼SQL
- 藉助10053跟蹤事件理解SQL執行過程事件SQL
- oracle儲存過程(procedure)中執行動態SQL小記Oracle儲存過程SQL
- 啟動SQL SERVER時自動執行儲存過程(轉)SQLServer儲存過程