Oracle 基础 —SQL语句优化的途径

时间:2022-02-08 16:39:31

一:SQL语句的优化途径

  1.选择合适的Oracle优化器

    (1).RBO 基于规则进行优化的优化器   --Oracle 10G 后被抛掉

    (2).CBO基于成本(CPU 和 内存的占用率)优化的优化器  --优化器使用的模式根据目标而定

      CBO 的优化模式:

        Rule:基于规则

        Choose:默认,表或者索引有统计信息,走CBO模式,否则走RBO 模式

        First row:表中有统计信息时,以最快方式返回查询的前几行,总体减少响应时间

        All row:表中有统计信息时,以最快方式返回表的所有行,总体提高查询吞吐量

  2.选择恰当的扫描方式

        全表扫描:Oracle读取表中的所有行,并检查每一行是否满足WHERE 语句的限制

        使用ROWID:快速定位到目标数据上

        索引扫描:只在CBO模式下有效

        快速索引扫描:扫描的数据不排序

  3.善于利用共享的SQL语句  --共享的SQL 语句放在Oracle实例的系统全局区域(SGA)中,