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

本文以流程图形式展示了SQL解析机制,深入浅出地解释了软解析与硬解析的区别,以及客户端与服务器之间的交互过程,包括游标管理、会话缓存、锁机制等关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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://blog.youkuaiyun.com/xujinyang/article/details/6831396

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值