1.概念:用来预判SQL语句运行过程中需要消耗的资源和时间等数据。

2.执行计划中的内容:

  1.查看表格运行的逻辑和表格数据读取的状态 (全表扫描,分区读写,是否命中索引)

  2.cost 对资源的消耗

  3.数据库中不同对象的使用

  4.cardianlity 命中的信息

  5.io资源消耗,硬盘读写数据消耗的资源

     6.time时间消耗,每个sql运行的性能

3.执行计划看到的表格联合查询的内部逻辑是什么样的?

  1.表的查询顺序,先查小表,后查大表

  2.表的连接方式

    hash join :a表和b表连接时使用等值连接或and连接查询

    merge join:a和b使用>,<,>=,<=的连接查询

    nested loops:a和b进行不等连接

4.使用代码查询执行计划

  explain plan for select 语句;

  select * from table(dbms_xplan.display())

5.hints优化器(指定表的连接方式),可以强制改变sql的执行逻辑

  语法:select /*+ 优化器内容 */ 列名 from语句

    优化内容有:use_hash(表名1,表名2)  或  use_nl(表名1,表名2) 或  use_merge(表名1,表名2)

             leading(表名1,表名2):改变表的读取顺序,full(表名1) 改变表的查询逻辑

          index(表名 索引名):强制使用索引,但是只能命中被oracle优化的索引

 

posted on 2022-12-03 14:02  银光短战棍  阅读(55)  评论(0)    收藏  举报