ORACLE SQL性能优化系列 (一)

1. 选用适合的ORACLE优化器

ORACLE的优化器共有3种:

a. RULE (基于规则)

b. COST (基于成本)

c. CHOOSE (选择性)

设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖.

为了使用基于成本的优化器(CBO, Cost-Based Optimizer) , 你必须经常运行analyze 命令,以增加数据库中的对象统计信息(object statistics)的准确性.

如果数据库的优化器模式设置为选择性(CHOOSE),那么实际的优化器模式将和是否运行过analyze命令有关. 如果table已经被analyze过, 优化器模式将自动成为CBO , 反之,数据库将采用RULE形式的优化器.

在缺省情况下,ORACLE采用CHOOSE优化器, 为了避免那些不必要的全表扫描(full table scan) , 你必须尽量避免使用CHOOSE优化器,而直接采用基于规则或者基于成本的优化器.

2. 访问Table的方式

ORACLE 采用两种访问表中记录的方式:

a. 全表扫描

全表扫描就是顺序地访问表中每条记录. ORACLE采用一次读入多个数据块(database block)的方式优化全表扫描.

b. 通过ROWID访问表

你可以采用基于ROWID的访问方式情况,提高访问表的效率, , ROWID包含了表中记录的物理位置信息..ORACLE采用索引(INDEX)实现了数据

oracle 性能优化培训,ORACLE SQL性能优化(内部培训资料)相关推荐

  1. Oracle数据库使用Analyze提升sql性能

    Oracle数据库使用Analyze提升sql性能 如果你不使用analyze完成sql优化,将意味着:你拒绝使用数据库的查询优化器,也失去了使用优化连接的机会.假设你创建了一张拥有100万条记录的临 ...

  2. MySql查询优化性能调优,sql性能自测方法,及Mysql索引介绍

    MySql查询优化性能调优,sql性能自测方法,及Mysql索引介绍 前言 一.普通优化加索引(适用于where条件后一个查询条件) 二.组合查询加索引(适用于where条件后多个查询条件) 三.My ...

  3. Mysql删除语句优化_MySQL性能优化之常用SQL语句优化

    SQL性能优化的目标:至少要达到range级别,要求是ref级别,consts最高.[阿里巴巴JAVA开发手册] 说明: 1).consts单表中最多只有一个匹配行(主键/唯一索引),在优化阶段即可读 ...

  4. mysql sql优化_MySQL数据库SQL语句优化原理专题(三)

    需求 做过开发的同学,对分页肯定不会陌生,因为很多前台页面展示,为了更好的展示数据,就会用到分页,所以如何写一个高性能的分页SQL语句,是每一个开发人员需要掌握的技能. 分页SQL 这里给大家写一个分 ...

  5. MySQL优化之三:SQL语句优化

    一 SQL语句优化的一般步骤: 1 通过show status命令了解各种SQL语句的执行频率 mysql> show status;                #show status:显 ...

  6. sql查询索引语句_sql优化总结--基于sql语句优化和索引优化

    概述 最近做查询,统计和汇总.由于数据量比较庞大,大部分表数据上百万,甚至有的表数据上千万.所以在系统中做sql优化比较多,特此写一篇文章总结一下关于sql优化方面的经验. 导致查询缓慢的原因 1.数 ...

  7. android 基础培训ppt,Android基础之内部培训.ppt

    Android基础之内部培训 May 30, 2007 V2.0 Android Study Agenda Building Blocks Application Model UI IPC Secur ...

  8. oracle语句优化pl sql语句,求oracle插入初始数据pl/sql语句优化,该怎么处理(2)

    SQL codeCREATE OR REPLACE PROCEDURE thi_pro AS randomnum NUMBER; randomnum2 NUMBER; randomnum3 NUMBE ...

  9. Sql优化一:sql语句优化

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  10. oracle sql 查询优化器,基于ORACLE成本优化器的SQL查询优化分析与应用

    第 39 卷 第 2 期2018 年 3 月 内蒙古农业大学学报( 自 然 科 学 版 ) Journal of Inner Mongolia Agricultural University ( Na ...

最新文章

  1. NFS应用场景及环境搭建
  2. [转载] Web Service工作原理及实例
  3. linux下的环境变量/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc文件
  4. JVM类加载机制详解(一)JVM类加载过程
  5. 黑旋风简约引导页源码-个人官网必备
  6. 【Linux入门学习之】ubuntu10.04 ruijie配置上网(用mentohust)
  7. ajax获取session值_cookie和session基础知识学习
  8. arp协议属于哪一层_TCP/IP协议栈-之-ARP协议分析
  9. 吴恩达机器学习ex8:异常检测
  10. 错误契约(FaultContract)与异常处理(转)
  11. 华硕P4P800-X 主板南桥芯片又烧坏了......
  12. mysql 主命令总结
  13. SQL SERVER中游标也有Continue,break等跳出循环的语句
  14. 新闻简报(7/18)
  15. 跟上Java8 - 日期和时间实用技巧,转自知乎王爵nice
  16. 小程序https本地服务器,微信小程序搭建自己的Https服务器
  17. jQuery 效果 ——fadeIn() 方法、fadeOut() 方法
  18. 【新书推荐】我想做一个能在你的葬礼上描述你一生的人(贾平凹著)
  19. 常用的正则表达式,复制粘贴,正则就这么简单
  20. JS节点操作——连缀

热门文章

  1. 从红孩子到贝备网 母婴网购市场的转变
  2. 《遥感图像处理笔记》第1章
  3. 基于android的社区app
  4. ubc本科计算机雅思要求,英属哥伦比亚大学雅思要求
  5. android逆向01:修改apk的资源文件,smali插桩
  6. static,this,private关键字
  7. 1-时间复杂度空间复杂度
  8. SSM宾馆管理系统(酒店管理系统)
  9. LeetCode-1109-航班预订统计
  10. 用js生成PDF的方案