Oracle优化器

Oracle优化器是用于生成SQL语句访问数据库时使用的执行计划的。Oracle优化器通过使用Oracle搜集的关于数据库对象的统计数据来生成

一 oracle优化器概述
oracle优化器是用于生成sql语句访问数据库时使用的执行计划的。oracle优化器通过使用oracle搜集的关于数据库对象的统计数据来生成sql语句的访问计划(使用什么对象)并执行计划(使用何种操作)。

二 Oracle优化器的分类
Oracle优化器分为三类:
1) RULE优化器:基于规则的优化器相对比较简单,通过检查数据库的可用路径并将这些路径与路径表进行比较,从而确定SQL语句的执行计划。RULE优化的过程中不需要任何表或索引的统计信息,而且也会忽略任何表或索引的统计信息
2) COST优化器:基于开销的优化器相对比较复杂,通过使用数据库的结构和数据等信息来选择最优的执行计划。优化的过程中需要相关表和索引的统计信息。
3) CHOOSE优化器:在存在相关统计信息的情况下采用基于开销的优化器,在不存在相关统计信息的情况下才用基于规则的优化器。这是8I中默认的优化器工作方式

三 查询当前优化器的工作方式
查询当前优化器的工作方式比较简单的方法有以下两种:
1) 查看Oracle数据库的初始化文件,看看初始化参数optimizer_mode的取值
2) SQL> select name,value from v$parameter where name = ‘optimizer_mode’;
NAME        VALUE
—————    ———————————————————
optimizer_mode  CHOOSE

四 修改优化器的工作模式
可以使用下面的两种方法来选择优化器模式(基于开销的模式和基于规则的模式):
1) 初始化参数optimizer_mode
2) alter session 命令的 optimizer_goal参数
选择优化器模式时所能使用的选项
choose:这个选项允许优化器根据特定表或索引的统计数据的可用性选择优化模式。如果sql语句中涉及到的表中有一个表有统计数据,那么优化器将选择基于开销的优化方法;否则如果所有表都没有统计数据,那么优化器将选择基于规则的优化模式
rule:这个选项将导致优化器总是使用基于规则的优化方法,而不管系统中是否存在被访问表的统计数据
all_rows:这个选项将导致优化器对所有的sql语句都使用基于开销的优化方法,即使对于系统中不存在可用统计数据的表,情况也是如此。这个选项的目的是使用最少的系统资源获得最大的吞吐量,,力求完成sql语句的总花费为最少
first_rows_n:这个选项将导致优化器对所有的sql语句都使用基于开销的优化方法,即使对于系统中不存在可用统计数据的表,情况也是如此。这个选项的目的是获得最快的响应时间,力求最快返回结果中的前n条记录

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1874190.html

(0)
上一篇 2025年2月22日 09:28:18
下一篇 2025年2月22日 09:29:10

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • TON Network将于2025年5月10日关闭其Toncoin Bridge

    ton将于2025年5月10日宣布toncoin bridge的结束。在此日期之后,您将无法在ton network与ethereum或bnb smart chain之间进行桥接。 经过4年的运作和1亿美元的Toncoin桥接,Toncoi…

    2025年4月27日
    000
  • 怎样卸载MySQL并清理残留文件

    要安全、彻底地卸载mysql并清理所有残留文件,需遵循以下步骤:1.停止mysql服务;2.卸载mysql软件包;3.清理配置文件和数据目录;4.验证卸载是否彻底。 引言 在处理数据库时,常常会遇到需要卸载MySQL的情况。无论你是需要重新…

    2025年4月27日
    000
  • vue.js怎么连接数据库

    vue.js连接数据库的方法:1、建立php站点;2、创建数据库;3、php连接数据库;4、创建vue站点;5、创建组件,连接数据库;6、加载组件;7、在app.vue中引入组件。 本文操作环境:windows10系统、php 7&…

    2025年4月5日 编程技术
    200
  • Java面试题及答案的高效复习资料

    准备java面试时,高效复习的关键方法包括:1.分类复习,将题目按类型分类;2.动手实践,对于编程题自己动手写代码;3.模拟面试,提升表达和应变能力,这些方法能帮助你巩固知识并在面试中脱颖而出。 引言 在准备Java面试时,找到高效的复习资…

    2025年4月2日
    100
  • java软件开发就业前景怎么样

    Java 软件开发就业前景广阔,原因如下:行业需求旺盛:Java 广泛应用于金融、医疗等行业,企业对 Java 开发人员需求大。高薪水:Java 开发人员薪资通常高于行业平均水平。职业发展机会:Java 开发人员可晋升为高级开发人员、架构师…

    2025年4月2日
    100
  • 从Java框架社区获得帮助的途径

    从 java 框架社区获得帮助有多种途径:在线论坛和社区:stack overflow、java 论坛、github issues社交媒体:twitter、linkedin 群组文档和教程:框架文档、代码示例、书籍社区活动和会议:meetu…

    2025年4月2日
    200
  • java配置环境怎么设置

    要配置 Java 开发环境,需要:安装 JDK 包含 Java 编译器和工具。配置 Java 路径将 JDK bin 目录添加到系统 PATH 中。安装 IDE 提供图形界面,包括代码编辑器和调试器。创建 Java 项目设置项目结构。编译 …

    2025年4月2日
    100
  • java怎么快速入门

    快速入门 Java:安装 JDK安装 IDE(如 IntelliJ IDEA)创建 Java 程序并运行(输出:”Hello, world!”)Java 核心概念:类和对象、数据类型、变量、方法、控制流。深入学习:面…

    2025年4月2日
    100
  • java安装之后怎么用

    Java 安装后使用指南:配置环境变量:设置 JAVA_HOME 和 Path 变量,指向 Java 安装目录和 bin 目录。验证安装:运行 java -version,查看 Java 版本信息。创建 Java 程序:编写 .java 文…

    2025年4月2日
    200
  • java怎么重新安装

    重新安装 Java 需要两步:卸载现有 Java 版本和安装所需版本。1. 卸载现有 Java 版本:打开“控制面板”,导航至“程序和功能”,找到 Java 列表并卸载。2. 安装所需 Java 版本:从 Oracle 网站下载安装程序,按…

    2025年4月2日
    100

发表回复

登录后才能评论