2.2 内部函数与操作

实际上,在Oracle内部,执行计划的每一个数据源(Row Source)操作都与一个内部函数(qer<*>)相对应,而操作对象、谓词条件都是这些函数的参数。这些函数之间可以相互调用,也正是这些函数的调用关系,映射成为执行计划的树状关系。换句话说,一个执行计划告诉Oracle的内部引擎如何调用这些函数,以及传给函数的参数值。
例如,在上述例子中,NESTED LOOPS获取数据的内部函数是qerjoFetch;TABLE ACCESS BY INDEX ROWID的内部函数是qertbFetchByRowID;INDEX UNIQUE SCAN的内部函数是qerixFetchUniqueIndex;TABLE ACCESS FULL的内部函数是qertbFetch。
从这个意义上来说,我们可以将一个执行计划视为一段伪代码或者一段解释型语言的代码,SQL执行引擎则负责解释和执行该段代码。
基本上,在Oracle内部,所有“qer”前缀的函数都属于数据源操作模块的函数,而根据它们操作对象和方式不同,又可以分为多个不同的子模块。大部分数据源函数模块见表2-1。




但是,要注意的是,执行计划操作所映射的函数并非是完成SQL语句执行过程的全部函数。SQL引擎在执行SQL语句时,除了需要知道调用哪些函数进行数据源操作以外,还需要知道如何进行其他相关操作,例如私有内存的使用,以及所有这些操作的上下文(Context)数据。而所有这些信息都存储在SQL区(SQL Area)当中。在每个游标的内存当中,它们都存放在Heap6中。

《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一2.2 内部函数与操作相关推荐

  1. 《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一第一篇 执行计划

    第一篇 执行计划 执行计划是指示Oracle如何获取和过滤数据.产生最终结果集,是影响SQL语句执行性能的关键因素.我们在深入了解执行计划之前,首先需要知道执行计划是在什么时候产生的,以及如何让SQL ...

  2. oracle层级计算推演,(特价书)Oracle 高性能SQL引擎剖析:SQL优化与调优机制详解(资深Oracle专家黄玮十年磨一剑,盖国强作序力荐)(china-pub首发)...

    第一篇 执 行 计 划 执行计划是指示Oracle如何获取和过滤数据.产生最终结果集,是影响SQL语句执行性能的关键因素.我们在深入了解执行计划之前,首先需要知道执行计划是在什么时候产生的,以及如何让 ...

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

    1.1 生成执行计划 在Oracle中,任何一条语句在解析过程中都会生成一个唯一的数值标识,即SQL_ID.而同一条语句,在解析过程中,可能会因为执行环境的改变(例如某些优化参数被改变)而生成多个版本 ...

  4. mysql sql优化与调优机制详解_MySQL之SQL优化详解(一)

    目录 序言: 在我面试很多人的过程中,很多人谈到SQL优化都头头是道,建索引,explain分析,like全模糊会导致索引失效 云云,于是我问道:优化之前,需要找出数据库中比如超过2s的慢SQL,你是 ...

  5. 《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一2.3 执行计划各个列的含义...

    2.3 执行计划各个列的含义 在执行计划中,除了ID.Operation和Name之外,还有其他一些列.这些列的数据是根据需要从PLAN_TABLE.V$SQL_PLAN.V$SQL_PLAN_STA ...

  6. Oracle 高性能SQL引擎剖析----执行计划

    执行计划是指示Oracle如何获取和过滤数据.产生最终结果集,是影响SQL语句执行性能的关键因素.我们在深入了解执行计划之前,首先需要知道执行计划是在什么时候产生的,以及如何让SQL引擎为语句生成执行 ...

  7. SQL Server中通用数据库角色权限的处理详解

    SQL Server中通用数据库角色权限的处理详解 前言 安全性是所有数据库管理系统的一个重要特征.理解安全性问题是理解数据库管理系统安全性机制的前提. 最近和同事在做数据库权限清理的事情,主要是删除 ...

  8. 搜索引擎排名优化与五个技巧详解

    对于搜索引擎排名,每个SEO人员都有自己的独门秘籍,通常它都会根据自己所处的行业,进行有针对性的优化,但万变不离其宗,对于任何行业,它的排名机制,都是建立在满足一定搜索需求的基础之上. 言外之意,万丈 ...

  9. 【JVM】四、JVM优化-GC调优

    传送门 [JVM]一.JVM体系结构 [JVM]二.JVM垃圾收集器 [JVM]三.JVM内存溢出问题分析查看 [JVM]四.JVM优化-GC调优 上一篇:[JVM]三.JVM内存溢出问题分析查看 文 ...

最新文章

  1. mysql5.6 mysqld safe_mysql程序之mysqld_safe详解
  2. Windows Live Writer 2012离线发布WP文章教程
  3. PHP面向对象中new self( )和 new static( ) 的区别
  4. 流媒体之RTMP——librtmp推流测试
  5. 手机号码归属地查询 java_JAVA手机号码归属地查询
  6. 改进YOLOv7系列:26.CVPR2022. ConvNeXt结合YOLOv7 | 基于ConvNeXt结构 构建 CNeB 模块
  7. android怎么更换播放器,android 播放器切换 出错
  8. 30行代码实现蚂蚁森林自动偷能量
  9. BP神经网络的MATLAB源码
  10. 资源-1.中国2000个城市名和对应的拼音
  11. linux和乌班图和麒麟系统,UbuntuKylin 和麒麟系统是两支不同渠道的系统
  12. 99条为人处事经典法则剩下的一条由你自己来感悟
  13. 服务器修改内网IP地址
  14. 2021-06-03 【论文笔记】Cross-domain Correspondence Learning for Exemplar-based Image Translation
  15. 【pyqt】自制的图片裁剪分割器
  16. clip python_python中numpy模块下的np.clip()的用法
  17. maven-resources-plugin:3.2.0:resources (default-resources) on project demo: Input length = 1 -> [Hel
  18. POD 和 non-POD
  19. AAAI‘21 Addressing Class Imbalance in Federated Learning
  20. (1)复杂度分析原理与方法

热门文章

  1. 万亿新基建,AI“芯”机遇在哪?| CCF-GAIR 2020
  2. 为什么很难创造出新的处理器?
  3. 这才是未来真正的风口,一文看清13种硬科技投资趋势
  4. 美国DARPA204页可解释人工智能文献综述论文《Explanation in Human-AI Systems》
  5. 洪小文: 今天的AI只是一个黑盒,仍需与HI密切配合
  6. Gartner:预计2018年人工智能行业总价值达1.2万亿美元
  7. 美媒:中关村取代硅谷获评全球最大科技中心
  8. Python 之父立 Flag:明年要把 Python 速度提高 2 倍!
  9. 真相了 | 敲代码时,程序员戴耳机究竟在听什么?
  10. ​“好师父”如何破解大学生就业难题