首页 > 数据库 >SQL_11_执行计划

SQL_11_执行计划

时间:2023-01-11 22:55:13浏览次数:32  
标签:11 index scan 扫描 rowid SQL 执行

执行计划是指一条查询语句的执行过程或访问路径。

 


 

一、Oracle的执行计划

使用PL/SQL第三方工具。

配置:

 

  耗费:执行成本,理论:值越小越好。

  基数:结果集行数。

  字节:返回的字节数。

查看:

  1、选中查询语句,使用快捷键F5。

  2、如下图:

 

执行顺序:

  缩进最多的先执行,同级的由上而下。

 

常见的访问表的方式:

  1、全表扫描,table access full,需要读取每一行数据,效率较低。

  2、通过rowid的表存取,table access by index rowid,rowid是存储了行数据的物理地址的自动生成维护的字段,通过rowid可快速定位。

  3、索引扫描,table access by indexscan,索引中实际是键值对,值为rowid,先通过键值对找到rowid,再通过rowid快速定位。

      唯一扫描,index unique scan,针对唯一索引的扫描,只返回一条数据的扫码。

      范围扫码,index range scan,返回多条数据的扫码。

      全扫描,index full scan,查询出的数据可以通过索引直接获取的。

      快速扫码,index fast full scan,与全扫描类似,但是它不会对查询结果进行排序。

      跳跃扫描,index skip scan。

Oracle中的优化器:

  1、RBO优化器。

    通过规定SQL的书写规则来保障执行计划。对数据不敏感,要求编写人员了解各项编写细则。

  2、CBO优化器。

    Oracle 10g开始替代RBO优化器,它通过计算各种可能的执行计划的“代价”,即COST(耗费),从中选择cost最低的执行方案执行。

标签:11,index,scan,扫描,rowid,SQL,执行
From: https://www.cnblogs.com/lurenjia-bky/p/17045136.html

相关文章

  • 自选股 2023年1月11日
    1.603916苏博特2.603477巨星农牧3.603536惠发食品4.300750宁德时代5.300015爱尔眼科6.600251冠农股份7.600206有研新材8.600330天通股份9.002475立讯精密10.00200......
  • 2023-1-11 #26 我仍珍惜 你予我 这一段随时光起舞的情节
    今天dls来雅礼了,于是一行人围着yali转了几圈,去火宫殿吃了一顿!挺开心的。XXOpenCup,GrandPrixofTokyo。142ACookies143BEvacuation144CSumModuloDX......
  • MySql学习笔记-进阶03
          ......
  • Python程序执行shell命令并关闭进程-总结
    需求说明linux下,有时候我们用Python3执行一个shell命令,这会开启一个进程。但是这个进程可能能不会主动关闭(比如Linux下的ping指令会一直持续执行),我们希望这个进程执行指......
  • python+mysql—高效的数据处理方案
    python+mysql——高效的数据处理方式使用场景大规模数据处理;多个任务可以并发执行;需要保存结果;为实现以上三个要求,就需要充分利用服务器中的多核资源,让程序高效并发执......
  • Markdown语法学习(2023.1.11)
    Markdown语法学习标题+空格+标题名表示一级标题+空格+标题名表示二级标题以此类推,最多有六级标题字体斜体(左右一个*号)粗体(左右两个*号)斜体+粗体(左右三个*号)引......
  • 2022.1.9~2022.1.11 营业日志
    P4563[JXOI2018]守卫zxy讲过。如果直接从代数角度推推不出来,从几何角度会好一点。首先最后一个位置一定要放,放完之后有一些点可以被看到,假设为\(p_{1\simk}\),那么序......
  • MySQL_2_正则表达式、自动增长、事务、索引
    一、正则表达式在SQL中使用正则表达式对字段进行筛选,比like性能高,使用关键字regexp即可。正则表达式格式:select要投影的字段from表名where列名regexp'正则......
  • Flask-SQLAlchemy 连接数据库
    (一)前言SQLAlchemy“采用简单的Python语言,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型”。SQLAlchemy是目前Python中最强大的ORM框架,功能全面。F......
  • Mysql页分裂
     当我们向某个索引对应的B+树插入记录,需要先定位到这条记录应该被插入到哪个叶子节点对应的数据页中,确定之后有两种情况:①该页恰好空间足够,能直接插入数据②该页空间不......