Oracle中SQL解析的流程
生活随笔
收集整理的这篇文章主要介绍了
Oracle中SQL解析的流程
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
Oracle中SQL解析的主要流程: 我们说的游标概念比较复杂,它可以是客户端程序中的游标,服务进程中的私有游标,以及服务器端共享池里的共享游标。假设一个游标被打开了,一般来说它的共享游标信息(包括执行计划,优化树等)总是会在SQL AREA里,无需再次软/硬解析。 SESSION_CACHED_CURSORS是Oracle中的一个初始化参数(修改必须重启实例),指定了每个会话缓存的游标上限(保留在PGA中);客户端程序中open cursor的要求仍会被传递给服务进程,服务进程首先扫描自身缓存的游标信息,如果命中则可以避免软解析,也有人称它为“软软解析”。 HOLD_CURSOR是预编译程序中的一个参数,它指定了私有游标是否因该被缓存,这里不做展开。 在分析工具tkprof中hard parse与soft parse被同等对待,都被认为是parse;软解析即会造成parse总数上升。 软解析避免了硬解析过程中的几个步骤,但仍包括了初始化的语法,语义解析并计算语句HASH值与SQL AREA中已有语句进行对比;若匹配则查询优化等昂贵的操作得以避免。 另请注意,10053事件仅在硬解析过程中被触发。
转载于:https://blog.51cto.com/maclean/1277514
总结
以上是生活随笔为你收集整理的Oracle中SQL解析的流程的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 15平混搭无国界老房新装变魅力四射跃层家
- 下一篇: 数据库优化的几条基本策略