关闭

Oracle SQL Parsing Flow Diagram(SQL 解析流程图)

标签: sqlparsingoracleoptimizationsemantic
5593人阅读 评论(0) 收藏 举报
分类:

       在MOS 上有一篇介绍SQL 解析流程图的文档,参考[ID32895.1]。 截取主要部分内容如下:

               Thisarticle show the parsing mechanism as a flow diagram. Its main purpose is toshow the difference between a 'soft' and a 'hard' parse. It is intended to givea feel of how parsing operates to make explanation of parsing activity easier.

 

 

 

 

注意事项:

1. A cursor is an address on the client that points tothe memory location of a SQL statement on the server. Multiple-client cursors may point at the same address on the server.

 

2. Remember that 'Client' and'Server' sides may reside on the same machine - in which caseClient/Server is a logical distinction.

 

3. If a cursor is open, then thestatement will be in the sql_area, so no parsing is necessary. This iswhy locks may remain when a client is terminated abnormally (such as a PCClient being turned off without closing open cursors).

 

4. SESSION_CACHED_CURSORS is the initialisation parameterthat specifies how many cursors to hold open for a particular session. The opencursor request will still be sent to the server but it will not be executedonce a matching cursor is found in the session cursor cache.

 

5. HOLD_CURSOR is an precompiler parameter that specifiesthat an individual cursor should be held open.

 

6. Both the soft and hard parseregister as a parse in tkprof. Hashing the current statement updates theparse count.

 

 

7. Soft parse avoids many of thesteps taken during the parse phase for a particular statement. Initialsyntactic and semantic checks are made and then the statement is hashed andcompared with hashed statements in the SQL area. If amatch is found, then existing information is used and relatively expensivesteps (such as query optimization etc.) areavoided.

 

8. The 10053 event is only invoked during a hard parse.

 

Oracle 10053 事件

http://www.cndba.cn/Dave/article/1570

 

 

 

 

-------------------------------------------------------------------------------------------------------

QQ:492913789

Email:ahdba@qq.com

Blog:  http://www.cndba.cn/dave

Weibo:   http://weibo.com/tianlesoftware

Twitter:  http://twitter.com/tianlesoftware

Facebook: http://www.facebook.com/tianlesoftware

Linkedin: http://cn.linkedin.com/in/tianlesoftware

DBA1 群:62697716(满);   DBA2 群:62697977(满)  DBA3 群:62697850(满) 

DBA 超级群:63306533(满);  DBA4 群: 83829929  DBA5群: 142216823   

DBA6 群:158654907  聊天 群:40132017   聊天2群:69087192

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

0
0
查看评论

SqlServer查询语句内部详细处理流程(图)

zongj
  • kk185800961
  • kk185800961
  • 2014-11-16 00:34
  • 1198

Oracle-Soft Parse/Hard Parse/Soft Soft Parse解读

概述在Oracle中存在两种类型的SQL语句: 一类为 DDL语句(数据定义语言)CREATE,DROP,ALTER,他们是从来不会共享使用的,也就是每次执行都需要进行硬解析。 一类就是DML语句(数据操纵语言)INSERT,UPDATE,DELETE,SELECT,他们会根据情况选择要么进行硬...
  • yangshangwei
  • yangshangwei
  • 2016-11-23 20:19
  • 3099

数据流程图(Data flow diagram)

A data flow diagram (DFD) is a graphical representation of the "flow" of data through an information system, modeling its&#...
  • Koupoo
  • Koupoo
  • 2012-07-10 10:02
  • 1170

Dataflow Diagram(DFD)画法

四种基本图形符号 数据流(箭头):是由一组固定成分的数据组成,表示数据的流向。值得注意的是,数据流图中描述的是数据流,而不是控制流。除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有一个合适的名字,以反映该数据流的含义。 加工(圆或椭圆):加工描述了输入数据流到...
  • jyfeather
  • jyfeather
  • 2013-06-14 15:51
  • 2129

Oracle sql执行流程图 SQL执行过程

Oracle SQL执行过程     一、sql语句的执行步骤:     1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。     2) 语义分析,检查语句中涉及的所有数据...
  • xiaofan23z
  • xiaofan23z
  • 2012-07-10 16:04
  • 1043

Data Flow Diagrams (DFDs)

http://www.agilemodeling.com/artifacts/dataFlowDiagram.htm In the late 1970s data-flow diagrams (DFDs) were introduced and popularized for structured...
  • caolaosanahnu
  • caolaosanahnu
  • 2012-09-19 14:58
  • 2255

数据可视化 —— 数据流图(Data Flow Diagram)

数据流图(Data Flow Diagram):简称 DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。组成元素与基本构成:
  • lanchunhui
  • lanchunhui
  • 2017-03-11 22:43
  • 740

Oracle中SQL语句运行过程的深度解析

最近项目做完了(也许并不能说做完了),但是出现了一个致命的障碍,就是性能。现在想想TOP的作者是讲的是多么的精辟,性能是贯穿在项目需求,项目分析设计,项目编码和单元测试、集成等各个阶段。而不是等项目开发完毕,再来考虑性能问题。但是,事实已是如此。所以,最近先从SQL语句开始优化,
  • chenjie19891104
  • chenjie19891104
  • 2011-08-03 17:26
  • 7940

oracle学习笔记 共享SQL减少硬解析

oracle学习笔记 共享SQL减少硬解析 上节课讲了硬解析多了会消耗cpu资源,容易产生4031错误 这是我们不希望出现的 如何去减少硬解析呢 一个最好的办法,最常用的最有效的办法就是让sql共享 一)sql语句完全相同 执行一百个sql语句 如果有99个sql语句...
  • xinzhan0
  • xinzhan0
  • 2016-09-07 17:28
  • 1823

oracle学习笔记 SQL语句解析类型_硬解析_软解析

oracle学习笔记 SQL语句解析类型_硬解析_软解析 shared pool在讲oracle体系结构概述时讲了大体是干什么的, 这节把一些细节讲一下。 一)软件出问题 在oracle新的版本中, 特别从oracle 10g开始shared pool的问题慢慢变少了, ...
  • xinzhan0
  • xinzhan0
  • 2016-07-28 17:29
  • 772
    Oracle数据库问题解决方案和故障排除手册
    Dave 新博客
    CNDBA 社区交流QQ群

    • CNDBA_1: 62697850 (大量空闲)
    • CNDBA_2: 62697716(大量空闲)
    • CNDBA_3: 283816689
    • CNDBA_4: 391125754
    • CNDBA_5: 104207940(满)
    • CNDBA_6: 62697977
    • CNDBA_7: 142216823(满)
    个人资料
    • 访问:12437086次
    • 积分:118785
    • 等级:
    • 排名:第4名
    • 原创:1006篇
    • 转载:86篇
    • 译文:2篇
    • 评论:1576条
    Oracle 组织

    安徽DBA俱乐部
    • 安徽DBA俱乐部,俱乐部整合安徽地区的IT资源,现有成员已经包含安徽大部分IT公司,俱乐部除了资讯信息分享之外,也会定期举行线下活动。欢迎安徽地区的DBA 加入.

      QQ群:363076776 安徽DBA俱乐部/ahdba.com ,备注,加群必须注明籍贯,该群只对安徽地区开放。

    • 网址:www.ahdba.com
    最新评论