3.优化器模式的选择

1优化器的模式

1.1.RULE模式

   Oracle将使用RBO来解析目标SQL,统计信息将失去作用

1.2.CHOOSE模式

    Oracle 9i中OPTIMIZER_MODE的默认值,表示Oracle在解析目标SQL到底使用RBO还是CBO,如果该SQL涉及的表存在统计信息,Oracle解析SQL就会使用CBO,如果所有表对象没有统计信息,用RBO

1.3.FIRST_ROWS_n(n=1,10,100,1000)模式

    当OPTIMIZER_MODE的值为FIRST_ROWS_n(n=1,10,100,1000)时,Oracle会把那些能够以最快的响应速度返回头n(n=1,10,100,1000)条记录所对应的执行步骤的成本值修改为一个很小的值(远远小于默

认情况下CBO对同样执行步骤所计算出的成本值)。这样Oracle就既没有违背CBO选取执行计划的总原则(成本值最小),同时又兼顾了FIRST_ROWS_n(n=1,10,100,1000)含义。

1.4.FIRST_ROWS

     它表示Oracle在解析目标SQL时会联合使用CBO和RBO。此时CBO在计算该SQL的各条件执行路径的成本值时的侧重点在于以最快的响应速度返回头几条记录,当特殊情况是,FIRST_ROWS会使用RBO规则

选取执行计划,不再考虑成本,

1.5.ALL_ROWS

    是Oracle10g以后后续数据库版本中OPTIMITZER_MODE默认值,他表示Oracle会使用CBO来解析目标SQL,此时CBO在计算该SQL的各条件执行路径的成本值时的侧重点在吞吐量。

总结:ALL_ROWS侧重点是最佳的吞吐量,FIRST_ROWS_n(n=1,10,100,1000)侧重点是最快的响应速度返回头n(n=1,10,100,1000)条记录。

2.结果集

指包含指定执行结果的集合,结果集和目标SQL的执行计划的执行步骤对应,一个执行步骤所产生的之心结果就是该执行步骤所对应输出的结果集

3.访问数据的方法

3.1.访问表的方法

3.1.1全表扫描:扫描表所在的block块。

3.1.2rowid扫描:通过扫描物理地址扫描数据

scott@ORCLPDB01 2023-04-01 17:08:18> select empno,ename,rowid,dbms_rowid.rowid_relative_fno(rowid) || '_' || dbms_rowid.rowid_block_number(rowid) || '_' || dbms_rowid.rowid_row_number(rowid) location from emp;

     EMPNO ENAME      ROWID		 LOCATION
---------- ---------- ------------------ --------------------------------------------------------------------------------------------------------------------------
      7369 SMITH      AAASRwAAMAAAACVAAA 12_149_0
      7499 ALLEN      AAASRwAAMAAAACVAAB 12_149_1
      7521 WARD       AAASRwAAMAAAACVAAC 12_149_2
      7566 JONES      AAASRwAAMAAAACVAAD 12_149_3
      7654 MARTIN     AAASRwAAMAAAACVAAE 12_149_4
      7698 BLAKE      AAASRwAAMAAAACVAAF 12_149_5
      7782 CLARK      AAASRwAAMAAAACVAAG 12_149_6
      7788 SCOTT      AAASRwAAMAAAACVAAH 12_149_7
      7839 KING       AAASRwAAMAAAACVAAI 12_149_8
      7844 TURNER     AAASRwAAMAAAACVAAJ 12_149_9
      7876 ADAMS      AAASRwAAMAAAACVAAK 12_149_10
      7900 JAMES      AAASRwAAMAAAACVAAL 12_149_11
      7902 FORD       AAASRwAAMAAAACVAAM 12_149_12
      7934 MILLER     AAASRwAAMAAAACVAAN 12_149_13

14 rows selected.

Elapsed: 00:00:00.02

 

posted @ 2023-04-01 17:13  竹蜻蜓vYv  阅读(50)  评论(0编辑  收藏  举报