Oracle Query processing 的程式
Oracle Query processing 的程式 當一個查詢statement送出時,他的執行程式為:(from Jonathan Lewis web site)
(parse 程式) Meta link 46234.1 [1] Syntactic - checks the syntax of the query [2] Semantic - checks that all objects exist and are accessible [3] View Merging - rewrites query as join on base tables as opposed to using views [4] Statement Transformation - rewrites query transforming some complex constructs into simpler ones where appropriate (e.g. subquery unnesting, in/or transformation) [5] Optimization - determines the optimal access path for the query to take. With the Rule Based Optimizer (RBO) it uses a set of heuristics to determine access path. With the Cost Based Optimizer (CBO) we use statistics to analyze the relative costs of accessing objects. [6] Query Evaluation Plan Generation 重複的進行hard parse是非常消耗資源的,我們知道一個statement會先被算出一個hash值,然後去share pool找尋是否有相同的hash value statement來重複利用已解析過statement,並利用其執行計畫,statement如不好好使用bind variable加上share pool不足,儲存的statement終會被LRU演演算法給踢除,這就會造成hard parse的增加了。 如果這個問題非常嚴重,在不能改寫程式的情況下,調整cursor sharing也許是不得已的方法了,不過要謹慎考量他的副作用。 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/779728/viewspace-926727/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Sentry 監控 - Snuba 資料中臺架構(Query Processing 簡介)架構
- Oracle Query Result CacheOracle
- Oracle Clusterware Software Component Processing DetailsOracleAI
- ORACLE Flashback Query偽列Oracle
- oracle query output in excel fileOracleExcel
- Oracle Flashback query查詢的侷限Oracle
- Oracle10g的Flashback version QueryOracle
- Overview of Oracle Flashback Query I (366)ViewOracle
- Overview of Oracle Flashback Query II (367)ViewOracle
- oracle 10g flashback version query 和 flashback transaction query實驗Oracle 10g
- ORACLE 11G Flashback Versions QueryOracle
- flashback version query in oracle 10gOracle 10g
- query result cache in oracle 11gOracle
- Oracle10g的Flashback之Flashback Transaction QueryOracle
- oracle10g之flashback version query 和flashback transaction query 實驗Oracle
- Oracle閃回技術--Flashback Version QueryOracle
- Python mutilprocessing Processing 父子程式共享檔案物件?Python物件
- Oracle並行操作——並行查詢(Parallel Query)Oracle並行Parallel
- Oracle物化檢視2 -- Query Rewrite及引數Oracle
- SAP 中的 BOPF(Business Object Processing Framework)ObjectFramework
- exp工具的direct和query衝突以及程式補充
- phpmysqlimysqli_query()mysqli_real_query()PHPMySql
- SQL Query Result Cache的使用和配置--Oracle 11G新特性SQLOracle
- java-apt程式設計實踐(Annotatino Processing Tool+maven)JavaAPT程式設計Maven
- Oracle優化器:星型轉換(Star Query Transformation )Oracle優化ORM
- oracle flashback特性(1.4)--閃回查詢之Transaction queryOracle
- 關於Oracle E-Business Suite併發處理機制(Current Processing)OracleUI
- 從Oracle的SQL_ID到PG14引入核心的QUERY_IDOracleSQL
- Query sqlSQL
- Query DSL
- reg query /?
- 將 SQL轉換成 Laravel Query Builder 程式碼SQLLaravelUI
- 並行處理 Parallel Processing並行Parallel
- XStream: Stream Processing Platform at FacebookPlatform
- SCM600--Complaints ProcessingAI
- ntpdate會導致mysql slow query log出現很大的query timeMySql
- Oracle - ORA-01789: Query block has incorrect number of result columnsOracleBloC
- mysql 配置 General Query Log和# Slow Query LogMySql