`

oracle变量绑定

阅读更多

一、游标:游标可以理解为SQL语句的一个句柄,也叫SQL语句的指针,游标指向一条SQL语句,ORACLE会话要执行一条SQL时,首先要打开游标。

 

二、SQL解析的过程:

硬解析步骤:

1.对SQL语句进行语法检查,看是否有语法错误

2.通过数据字典,检查SQL语句中涉及的对象和列是否存在

3.检查SQL语句的用户是否对涉及的对象有权限

4.通过优化器创建一个最优的执行计划。这个过程会根据数据字典中对象的统计信息来计算多个执行计划的cost,从而得到一个最优的执行计划。这一步涉及到大量的数据运算,从而消耗大量的CPU资源。(library cache最主要的目的就是通过软解析来减少这个步骤);

5.将该游标产生的执行计划,SQL文本等装载进library cache中的heap中

软解析:

所谓软解析,就是因为相同文本的SQL语句存在于library cache中,所以本次SQL语句的解析就可以去掉硬解析的多个步骤。从而节省大量的资源的消耗

软软解析:

所谓的软软解析,就是没有任何解析过程。当设置了session_cached_cursors参数时,当某个session第三次执行相同的SQL语句时,则会把该SQL语句的游标缓存到PGA中。这样当该session在执行该SQL语句时,会直接从PGA中取出执行计划,从而跳过解析的所有步骤

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics