《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一1.1 生成执行计划

  1. 云栖社区>
  2. 华章计算机>
  3. 博客>
  4. 正文

《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一1.1 生成执行计划

华章计算机 2017-08-01 20:58:00 浏览747
展开阅读全文

1.1 生成执行计划

在Oracle中,任何一条语句在解析过程中都会生成一个唯一的数值标识,即SQL_ID。而同一条语句,在解析过程中,可能会因为执行环境的改变(例如某些优化参数被改变)而生成多个版本的游标,不同的游标会有不同的执行计划。每个游标都会按顺序赋予一个序列号,即CHILD_NUMBER,一条语句生成的第一个游标的CHILD_NUMBER为0;相应的,Oracle会为每个执行计划生成一个哈希值以作区分。而多个不同版本的游标,其执行计划可能会相同,也可能不同。
因此,我们可以知道,一条合法的SQL语句在执行过后,在内存中最少会有一个执行计划与其游标相对应。当前实例内存(Library Cache)中的执行计划可以通过视图V$SQL_PLAN读取(RAC环境中,可以通过视图gv$sql_plan查看RAC当中其他实例上的执行计划

网友评论

登录后评论
0/500
评论
华章计算机
+ 关注
所属云栖号: 华章计算机