Oracle SQL优化--原理篇

本文深入探讨Oracle SQL优化,首先讲解优化器的原理,包括基于规则的优化器(RBD)和基于成本的优化器(CBD),并阐述成本在SQL执行中的重要性。接着详细阐述执行计划,包括执行计划的生成、缓存策略以及如何通过V$SQLAREA和V$SQL查看执行计划。最后,分析执行顺序和访问路径,如ROWID表扫描、索引访问和表关联连接等。
摘要由CSDN通过智能技术生成


内容会持续更新!!

一. 优化器与成本

1. 优化器

优化器是数据库核心功能,也是最为复杂的一块。负责将用户提交的SQL语句根据各种判断标准,制定出最优的执行计划,并交给执行器来执行。
成本是优化器(基于成本的优化器)中反映SQL执行代价的一个指标。

1.1 RBD

基于规则的优化器(Rule Based Optimizer,RBD)。内部采用规则列表,等级越高的规则越会被优先采用。

1.2 CBD

基于成本的优化器(Cost Based Optimizer,CBD)。成本越低,SQL执行的代价越小, 则是一个更优的执行路径。CBD基本上是首选。

2. 成本

成本是优化器(基于成本的优化器)中反映SQL执行代价的一个指标。
是指花费在单数据块读取上的时间,加上花费在多数据块上的时间,再加上所需的CPU处理时间,然后将总和除以单数据块读取所花费的时间。
在执行计划中,可以看到成本(cost)那一列的值。

二. 执行计划

1. 执行计划

Oracle用来执行目标SQL语句的这些步骤的组合就被称为执行计划

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值