文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Oracle中的硬解析和软解析

Oracle中的硬解析和软解析

时间:2010-06-05  来源:syl_0735

    今天看书的时候,看到一个单词“parse tree”,当时没有理解,上网查了一下资料,记录一下!     parse tree直译过来就是解析树的意思,在Oracle中,解析树有两种,一种是硬解析,一种是软解析,想要弄清楚这两种解析之间的区别,首先要弄明白用户提交一条sql语句时的执行过程,当用户提交一条sql语句给oracle时,Oracle要执行如下步骤:     1。语法检查 检查sql语句的语法是否正确     2。语义检查 检查sql语句涉及到的访问对象是否存在以及该用户是否具备相应的权限     3。解析sql语句 生成解析树及执行计划     4。执行sql返回结果 重点来了,软解析和硬解析就是发生在第三个步骤,Oracle用内部算法取得该sql的hash值,并在library cache中查找,是否有该hash值,然后用该hash值存在,则此时就将该sql和和library cache中的sql进行比较,如果相同,就利用library cache中已有的解析树和执行计划,省略了优化器的工作,这个就是软解析。如果该hash值在library cache中不存在或者虽然存在,但是sql和和library cache中的sql不同,那么优化器就将创建解析树和生成执行计划,此过程为硬解析。     创建解析树和生成执行计划对于sql都是非常大的开销,应尽量避免。
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载