Oracle名词解释
自己记录一下,随意更新
父游标,子游标
游标只是一个名字,指向存有告诉oracle db如何对数据操作的信息的内存区域。查询时,根据crusor_sharing的设置,sql语句会被hash到parent crusor上是否存在合理可执行的child cursor。如果存在,那么就可以直接利用child crusor中存储的绑定变量信息、执行环境、执行计划等进行快速的查询。参考:
https://expertoracle.com/2017/11/17/db-tuning-basics-3-parent-and-child-cursors/
硬解析,软解析
Oracle在进行查询时会先从shared pool查找有无对应sql语句的crusor。如果找到parent crusor以及child cursor,就可以使用现成的资源进行查询,这就是soft parse。如果找不到,或者只找到了parent cursor,那就必须生成缺失的crusor,生成执行计划,这就是hard parse。参考:
https://expertoracle.com/2017/11/16/db-tuning-basics-2-parsing/
缓存命中,缓存丢失
这个翻译很烂。简而言之library cache hit就是找到child cursor,miss就是没找到。miss还分为during parse和during execute分别对应没找到parent crusor和没找到child crusor。
物理读,逻辑读
逻辑读失败时就会物理读。这个过程就是把磁盘上的数据读到高速的buffer cache上的过程,所以叫physical read。如果从buffer cache中提取数据中表的若干行或列,这叫做logical read。
consistent mode & current mode
这个实在不知道中文对应是啥。不太理解,粗略来讲,current mode下block的数据就是它现在的状态,而consistent mode下数据是block的某时的快照,可以rollback。